Clean the environment.
Set locations, and the working directory …
Defining phenotypes and datasets.
Create a new analysis directory, including subdirectories.
[1] FALSE
[1] FALSE
[1] FALSE
[1] FALSE
Setting working directory and listing its contents.
[1] "/Volumes/LaCie/PLINK/analyses/lookups/AE_TEMPLATE/scRNAseq"
[1] "20211029.AESCRNA.scrnaseq_results.RData" "AESCRNA" "scRNAseq.nb.html" "scRNAseq.Rmd"
… a package-installation function …
… and load those packages.
We will create a datestamp and define the Utrecht Science Park Colour Scheme.
For the ERA-CVD ‘druggable-MI-targets’ project (grantnumber: 01KL1802) we will perform two related RNA sequencing (RNAseq) experiments:
conventional (‘bulk’) RNAseq using RNA extracted from carotid plaque samples, n ± 700. As of Friday, October 29, 2021 all samples have been selected and RNA has been extracted; quality control (QC) was performed and we have a dataset of 635 samples.
single-cell RNAseq (scRNAseq) of at least n = 40 samples (20 females, 20 males). As of Friday, October 29, 2021 data is available of 40 samples (3 females, 15 males), we are extending sampling to get more female samples.
Plaque samples are derived from carotid endarterectomies as part of the Athero-Express Biobank Study which is an ongoing study in the UMC Utrecht.
Collaboration to study gene expression of PCSK9 in relation to atherosclerotic plaques characteristics. The main list of genes are given below.
Genes.xlsxlibrary(openxlsx)
# Manual option
# gene_list <- c("PCSK9", "COL4A1", "COL4A2", "COL3A", "COL2A", "LDLR", "CD36")
# gene_list
gene_list <- read.xlsx(paste0(PROJECTROOT_loc, "/SNP/Genes.xlsx"), sheet = "Genes")
DT::datatable(gene_list)
target_genes <- unlist(gene_list$Gene)
target_genes
[1] "PCSK9" "COL4A1" "COL4A2" "COL3A" "COL2A" "LDLR" "CD36"
First we will load the data:
Here we load the latest dataset from our Athero-Express Single Cell RNA experiment.
There are few datasets available:
Here we use the PlaqView data.
scRNAseqData <- readRDS(paste0(RAWDATA, "/Seuset_40_patients/seurat_37_pts_20200701.RDS"))
scRNAseqData
An object of class Seurat
38835 features across 6191 samples within 2 assays
Active assay: SCT (18283 features, 3000 variable features)
1 other assay present: RNA
2 dimensional reductions calculated: pca, umap
N_GENES=18283
The naming/classification is based on a combination conventional markers. We do not claim to know the exact identity of each cell, rather we refer to cells as ‘KIT+ Mast cells”-like cells. Likewise we refer to the cell clusters as ’communities’ of cells that exihibit similar properties, i.e. similar defining markers (e.g. KIT).
We will rename the cell types to human readable names.
### change names for clarity
backup.scRNAseqData = scRNAseqData
# get the old names to change to new names
UMAPPlot(scRNAseqData, label = FALSE, pt.size = 1.25, label.size = 4, group.by = "ident")
levels(unique(scRNAseqData@active.ident))
[1] "CD3+CD8A+ T cells I" "CD3+CD8A+ T cells III" "CD3+CD4+ T Cells I" "CD14+CD68+ Macrophages I" "Mixed Cells I" "CD3+CD8A+ T Cells II"
[7] "CD14+CD68+ Macrophages II" "CD3+CD4+ T Cells II" "ACTA2+ Smooth Muscle Cells" "CD34+ Endothelial Cells I" "CD34+ Endothelial Cells II" "NCAM1+ Natural Killer Cells"
[13] "Mixed Cells II" "CD79A+ B Cells I" "CD14+CD68+ Macrophages III" "CD3+ Regulatory T Cells" "KIT+ Mast Cells" "CD79A+ B Cells II"
# [1] "CD3+CD8A+ T cells I" "CD3+CD8A+ T cells III" "CD3+CD4+ T Cells I" "CD14+CD68+ Macrophages I"
# [5] "Mixed Cells I" "CD3+CD8A+ T Cells II" "CD14+CD68+ Macrophages II" "CD3+CD4+ T Cells II"
# [9] "ACTA2+ Smooth Muscle Cells" "CD34+ Endothelial Cells I" "CD34+ Endothelial Cells II" "NCAM1+ Natural Killer Cells"
#[13] "Mixed Cells II" "CD79A+ B Cells I" "CD14+CD68+ Macrophages III" "CD3+ Regulatory T Cells"
#[17] "KIT+ Mast Cells" "CD79A+ B Cells II"
celltypes <- c("CD14+CD68+ Macrophages I" = "CD14+CD68+ M I",
"CD14+CD68+ Macrophages II" = "CD14+CD68+ M II",
"CD14+CD68+ Macrophages III" = "CD14+CD68+ M III",
"CD3+CD8A+ T cells I" = "CD3+CD8+ T I",
"CD3+CD8A+ T Cells II" = "CD3+CD8A+ T II",
"CD3+CD8A+ T cells III" = "CD3+CD8A+ T III",
"CD3+CD4+ T Cells I" = "CD3+CD4+ T I",
"CD3+CD4+ T Cells II" = "CD3+CD4+ T II",
"CD3+ Regulatory T Cells" = "CD3 Tregs",
"CD34+ Endothelial Cells I" = "CD34+ EC I",
"CD34+ Endothelial Cells II" = "CD34+ EC II",
"Mixed Cells I" = "Mixed I",
"Mixed Cells II" = "Mixed II",
"ACTA2+ Smooth Muscle Cells" = "ACTA2+ SMC",
"NCAM1+ Natural Killer Cells" = "NCAM1+ NK",
"KIT+ Mast Cells" = "KIT+ MC",
"CD79A+ B Cells I" = "CD79A+ B I",
"CD79A+ B Cells II" = "CD79A+ B II")
scRNAseqData <- Seurat::RenameIdents(object = scRNAseqData,
celltypes)
UMAPPlot(scRNAseqData, label = TRUE, pt.size = 1.25, label.size = 4, group.by = "ident",
repel = TRUE)
Loading Athero-Express clinical data.
require(haven)
# AEDB <- haven::read_sav(paste0(AEDB_loc, "/2019-3NEW_AtheroExpressDatabase_ScientificAE_02072019_IC_added.sav"))
# AEDB <- haven::read_sav(paste0(AEDB_loc, "/2020_1_NEW_AtheroExpressDatabase_ScientificAE_16-03-2020.sav"))
AEDB <- haven::read_sav(paste0(AEDB_loc, "/2021_1_NEW_AtheroExpressDatabase_ScientificAE_01-02-2021.sav"))
AEDB <- haven::read_sav(paste0(AEDB_loc, "/2021_3_NEW_AtheroExpressDatabase_ScientificAE_10-09-2021.sav"))
We need to be very strict in defining symptoms. Therefore we will fix a new variable that groups symptoms at inclusion.
Coding of symptoms is as follows:
We will group as follows in Symptoms.5G:
We will also group as follows in AsymptSympt:
We will also group as follows in AsymptSympt2G:
# Fix symptoms
attach(AEDB)
AEDB$sympt[is.na(AEDB$sympt)] <- -999
# Symptoms.5G
AEDB[,"Symptoms.5G"] <- NA
# AEDB$Symptoms.5G[sympt == "NA"] <- "Asymptomatic"
AEDB$Symptoms.5G[sympt == -999] <- NA
AEDB$Symptoms.5G[sympt == 0] <- "Asymptomatic"
AEDB$Symptoms.5G[sympt == 1 | sympt == 7 | sympt == 13] <- "TIA"
AEDB$Symptoms.5G[sympt == 2 | sympt == 3] <- "Stroke"
AEDB$Symptoms.5G[sympt == 4 | sympt == 14 | sympt == 15 ] <- "Ocular"
AEDB$Symptoms.5G[sympt == 8 | sympt == 11] <- "Retinal infarction"
AEDB$Symptoms.5G[sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Other"
# AsymptSympt
AEDB[,"AsymptSympt"] <- NA
AEDB$AsymptSympt[sympt == -999] <- NA
AEDB$AsymptSympt[sympt == 0] <- "Asymptomatic"
AEDB$AsymptSympt[sympt == 1 | sympt == 7 | sympt == 13 | sympt == 2 | sympt == 3] <- "Symptomatic"
AEDB$AsymptSympt[sympt == 4 | sympt == 14 | sympt == 15 | sympt == 8 | sympt == 11 | sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Ocular and others"
# AsymptSympt
AEDB[,"AsymptSympt2G"] <- NA
AEDB$AsymptSympt2G[sympt == -999] <- NA
AEDB$AsymptSympt2G[sympt == 0] <- "Asymptomatic"
AEDB$AsymptSympt2G[sympt == 1 | sympt == 7 | sympt == 13 | sympt == 2 | sympt == 3 | sympt == 4 | sympt == 14 | sympt == 15 | sympt == 8 | sympt == 11 | sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Symptomatic"
detach(AEDB)
# table(AEDB$sympt, useNA = "ifany")
# table(AEDB$AsymptSympt2G, useNA = "ifany")
# table(AEDB$Symptoms.5G, useNA = "ifany")
#
# table(AEDB$AsymptSympt2G, AEDB$sympt, useNA = "ifany")
# table(AEDB$Symptoms.5G, AEDB$sympt, useNA = "ifany")
table(AEDB$AsymptSympt2G, AEDB$Symptoms.5G, useNA = "ifany")
Asymptomatic Ocular Other Retinal infarction Stroke TIA <NA>
Asymptomatic 346 0 0 0 0 0 0
Symptomatic 0 447 121 49 761 1070 0
<NA> 0 0 0 0 0 0 1130
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "sympt", "Symptoms.5G", "AsymptSympt"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# table(AEDB.temp$Symptoms.5G, AEDB.temp$AsymptSympt)
#
# rm(AEDB.temp)
We will also fix the plaquephenotypes variable.
Coding of symptoms is as follows:
# Fix plaquephenotypes
attach(AEDB)
AEDB[,"OverallPlaquePhenotype"] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == -999] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == -999] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == 1] <- "fibrous"
AEDB$OverallPlaquePhenotype[plaquephenotype == 2] <- "fibroatheromatous"
AEDB$OverallPlaquePhenotype[plaquephenotype == 3] <- "atheromatous"
detach(AEDB)
table(AEDB$OverallPlaquePhenotype)
atheromatous fibroatheromatous fibrous
593 879 1482
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "plaquephenotype", "OverallPlaquePhenotype"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix the diabetes status variable. We define diabetes as history of a diagnosis and/or use of glucose-lowering medications.
# Fix diabetes
attach(AEDB)
AEDB[,"DiabetesStatus"] <- NA
AEDB$DiabetesStatus[DM.composite == -999] <- NA
AEDB$DiabetesStatus[DM.composite == 0] <- "Control (no Diabetes Dx/Med)"
AEDB$DiabetesStatus[DM.composite == 1] <- "Diabetes"
detach(AEDB)
table(AEDB$DM.composite)
0 1
2882 1033
table(AEDB$DiabetesStatus)
Control (no Diabetes Dx/Med) Diabetes
2882 1033
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "DM.composite", "DiabetesStatus"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$DiabetesStatus <- to_factor(AEDB.temp$DiabetesStatus)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix the smoking status variable. We are interested in whether someone never, ever or is currently (at the time of inclusion) smoking. This is based on the questionnaire.
diet801: are you a smoker?diet802: did you smoke in the past?We already have some variables indicating smoking status:
SmokingReported: patient has reported to smoke.SmokingYearOR: smoking in the year of surgery?SmokerCurrent: currently smoking?require(labelled)
AEDB$diet801 <- to_factor(AEDB$diet801)
AEDB$diet802 <- to_factor(AEDB$diet802)
AEDB$diet805 <- to_factor(AEDB$diet805)
AEDB$SmokingReported <- to_factor(AEDB$SmokingReported)
AEDB$SmokerCurrent <- to_factor(AEDB$SmokerCurrent)
AEDB$SmokingYearOR <- to_factor(AEDB$SmokingYearOR)
# table(AEDB$diet801)
# table(AEDB$diet802)
# table(AEDB$SmokingReported)
# table(AEDB$SmokerCurrent)
# table(AEDB$SmokingYearOR)
# table(AEDB$SmokingReported, AEDB$SmokerCurrent, useNA = "ifany", dnn = c("Reported smoking", "Current smoker"))
#
# table(AEDB$diet801, AEDB$diet802, useNA = "ifany", dnn = c("Smoker", "Past smoker"))
cat("\nFixing smoking status.\n")
Fixing smoking status.
attach(AEDB)
AEDB[,"SmokerStatus"] <- NA
AEDB$SmokerStatus[diet802 == "don't know"] <- "Never smoked"
AEDB$SmokerStatus[diet802 == "I still smoke"] <- "Current smoker"
AEDB$SmokerStatus[SmokerCurrent == "no" & diet802 == "no"] <- "Never smoked"
AEDB$SmokerStatus[SmokerCurrent == "no" & diet802 == "yes"] <- "Ex-smoker"
AEDB$SmokerStatus[SmokerCurrent == "yes"] <- "Current smoker"
AEDB$SmokerStatus[SmokerCurrent == "no data available/missing"] <- NA
# AEDB$SmokerStatus[is.na(SmokerCurrent)] <- "Never smoked"
detach(AEDB)
cat("\n* Current smoking status.\n")
* Current smoking status.
table(AEDB$SmokerCurrent,
useNA = "ifany",
dnn = c("Current smoker"))
Current smoker
no data available/missing no yes <NA>
0 2472 1377 75
cat("\n* Updated smoking status.\n")
* Updated smoking status.
table(AEDB$SmokerStatus,
useNA = "ifany",
dnn = c("Updated smoking status"))
Updated smoking status
Current smoker Ex-smoker Never smoked <NA>
1377 1893 416 238
cat("\n* Comparing to 'SmokerCurrent'.\n")
* Comparing to 'SmokerCurrent'.
table(AEDB$SmokerStatus, AEDB$SmokerCurrent,
useNA = "ifany",
dnn = c("Updated smoking status", "Current smoker"))
Current smoker
Updated smoking status no data available/missing no yes <NA>
Current smoker 0 0 1377 0
Ex-smoker 0 1893 0 0
Never smoked 0 416 0 0
<NA> 0 163 0 75
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "DM.composite", "DiabetesStatus"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$DiabetesStatus <- to_factor(AEDB.temp$DiabetesStatus)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix the alcohol status variable.
# Fix diabetes
attach(AEDB)
AEDB[,"AlcoholUse"] <- NA
AEDB$AlcoholUse[diet810 == -999] <- NA
AEDB$AlcoholUse[diet810 == 0] <- "No"
AEDB$AlcoholUse[diet810 == 1] <- "Yes"
detach(AEDB)
table(AEDB$AlcoholUse)
No Yes
1295 2440
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "diet810", "AlcoholUse"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$AlcoholUse <- to_factor(AEDB.temp$AlcoholUse)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix a history of CAD, stroke or peripheral intervention status variable. This will be based on CAD_history, Stroke_history, and Peripheral.interv
# Fix diabetes
attach(AEDB)
AEDB[,"MedHx_CVD"] <- NA
AEDB$MedHx_CVD[CAD_history == 0 | Stroke_history == 0 | Peripheral.interv == 0] <- "No"
AEDB$MedHx_CVD[CAD_history == 1 | Stroke_history == 1 | Peripheral.interv == 1] <- "yes"
detach(AEDB)
table(AEDB$CAD_history)
0 1
2555 1353
table(AEDB$Stroke_history)
0 1
2858 982
table(AEDB$Peripheral.interv)
0 1
2709 1186
table(AEDB$MedHx_CVD)
No yes
1305 2609
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "diet810", "AlcoholUse"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$AlcoholUse <- to_factor(AEDB.temp$AlcoholUse)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix and inverse-rank normal transform the continuous (manually) scored plaque phenotypes.
AEDB$macmean0 <- as.numeric(AEDB$macmean0)
AEDB$smcmean0 <- as.numeric(AEDB$smcmean0)
AEDB$neutrophils <- as.numeric(AEDB$neutrophils)
AEDB$Mast_cells_plaque <- as.numeric(AEDB$Mast_cells_plaque)
AEDB$vessel_density_averaged <- as.numeric(AEDB$vessel_density_averaged)
AEDB$MAC_rankNorm <- qnorm((rank(AEDB$macmean0, na.last = "keep") - 0.5) / sum(!is.na(AEDB$macmean0)))
AEDB$SMC_rankNorm <- qnorm((rank(AEDB$smcmean0, na.last = "keep") - 0.5) / sum(!is.na(AEDB$smcmean0)))
AEDB$Neutrophils_rankNorm <- qnorm((rank(AEDB$neutrophils, na.last = "keep") - 0.5) / sum(!is.na(AEDB$neutrophils)))
AEDB$MastCells_rankNorm <- qnorm((rank(AEDB$Mast_cells_plaque, na.last = "keep") - 0.5) / sum(!is.na(AEDB$Mast_cells_plaque)))
AEDB$VesselDensity_rankNorm <- qnorm((rank(AEDB$vessel_density_averaged, na.last = "keep") - 0.5) / sum(!is.na(AEDB$vessel_density_averaged)))
library(labelled)
AEDB$Gender <- to_factor(AEDB$Gender)
ggpubr::gghistogram(AEDB, "macmean0",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "% of macrophages (CD68)",
xlab = "% per region of interest",
ggtheme = theme_minimal())
Warning: Using `bins = 30` by default. Pick better value with the argument `bins`.
Warning: Removed 1361 rows containing non-finite values (stat_bin).
ggpubr::gghistogram(AEDB, "MAC_rankNorm",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "% of macrophages (CD68)",
xlab = "% per region of interest\ninverse-rank normalized number",
ggtheme = theme_minimal())
Warning: Using `bins = 30` by default. Pick better value with the argument `bins`.
Warning: Removed 1361 rows containing non-finite values (stat_bin).
ggpubr::gghistogram(AEDB, "smcmean0",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "% of smooth muscle cells (SMA)",
xlab = "% per region of interest",
ggtheme = theme_minimal())
Warning: Using `bins = 30` by default. Pick better value with the argument `bins`.
Warning: Removed 1363 rows containing non-finite values (stat_bin).
ggpubr::gghistogram(AEDB, "SMC_rankNorm",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "% of smooth muscle cells (SMA)",
xlab = "% per region of interest\ninverse-rank normalized number",
ggtheme = theme_minimal())
Warning: Using `bins = 30` by default. Pick better value with the argument `bins`.
Warning: Removed 1363 rows containing non-finite values (stat_bin).
ggpubr::gghistogram(AEDB, "neutrophils",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "number of neutrophils (CD66b)",
xlab = "counts per plaque",
ggtheme = theme_minimal())
Warning: Using `bins = 30` by default. Pick better value with the argument `bins`.
Warning: Removed 3583 rows containing non-finite values (stat_bin).
ggpubr::gghistogram(AEDB, "Neutrophils_rankNorm",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "number of neutrophils (CD66b)",
xlab = "counts per plaque\ninverse-rank normalized number",
ggtheme = theme_minimal())
Warning: Using `bins = 30` by default. Pick better value with the argument `bins`.
Warning: Removed 3583 rows containing non-finite values (stat_bin).
ggpubr::gghistogram(AEDB, "Mast_cells_plaque",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "number of mast cells",
xlab = "counts per plaque",
ggtheme = theme_minimal())
Warning: Using `bins = 30` by default. Pick better value with the argument `bins`.
Warning: Removed 3660 rows containing non-finite values (stat_bin).
ggpubr::gghistogram(AEDB, "MastCells_rankNorm",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "number of mast cells",
xlab = "counts per plaque\ninverse-rank normalized number",
ggtheme = theme_minimal())
Warning: Using `bins = 30` by default. Pick better value with the argument `bins`.
Warning: Removed 3660 rows containing non-finite values (stat_bin).
ggpubr::gghistogram(AEDB, "vessel_density_averaged",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "number of intraplaque neovessels",
xlab = "counts per 3-4 hotspots",
ggtheme = theme_minimal())
Warning: Using `bins = 30` by default. Pick better value with the argument `bins`.
Warning: Removed 1954 rows containing non-finite values (stat_bin).
ggpubr::gghistogram(AEDB, "VesselDensity_rankNorm",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "number of intraplaque neovessels",
xlab = "counts per 3-4 hotspots\ninverse-rank normalized number",
ggtheme = theme_minimal())
Warning: Using `bins = 30` by default. Pick better value with the argument `bins`.
Warning: Removed 1954 rows containing non-finite values (stat_bin).
Here we calculate the plaque instability/vulnerability index
# Plaque vulnerability
require(labelled)
AEDB$Macrophages.bin <- to_factor(AEDB$Macrophages.bin)
AEDB$SMC.bin <- to_factor(AEDB$SMC.bin)
AEDB$IPH.bin <- to_factor(AEDB$IPH.bin)
AEDB$Calc.bin <- to_factor(AEDB$Calc.bin)
AEDB$Collagen.bin <- to_factor(AEDB$Collagen.bin)
AEDB$Fat.bin_10 <- to_factor(AEDB$Fat.bin_10)
AEDB$Fat.bin_40 <- to_factor(AEDB$Fat.bin_40)
table(AEDB$Macrophages.bin)
no/minor moderate/heavy
1607 1220
table(AEDB$Fat.bin_10)
<10% >10%
1270 1708
table(AEDB$Collagen.bin)
no/minor moderate/heavy
541 2306
table(AEDB$SMC.bin)
no/minor moderate/heavy
874 1968
table(AEDB$IPH.bin)
no yes
1223 1628
# SPSS code
#
# *** syntax- Plaque vulnerability**.
# COMPUTE Macro_instab = -999.
# IF macrophages.bin=2 Macro_instab=1.
# IF macrophages.bin=1 Macro_instab=0.
# EXECUTE.
#
# COMPUTE Fat10_instab = -999.
# IF Fat.bin_10=2 Fat10_instab=1.
# IF Fat.bin_10=1 Fat10_instab=0.
# EXECUTE.
#
# COMPUTE coll_instab=-999.
# IF Collagen.bin=2 coll_instab=0.
# IF Collagen.bin=1 coll_instab=1.
# EXECUTE.
#
#
# COMPUTE SMC_instab=-999.
# IF SMC.bin=2 SMC_instab=0.
# IF SMC.bin=1 SMC_instab=1.
# EXECUTE.
#
# COMPUTE IPH_instab=-999.
# IF IPH.bin=0 IPH_instab=0.
# IF IPH.bin=1 IPH_instab=1.
# EXECUTE.
#
# COMPUTE Instability=Macro_instab + Fat10_instab + coll_instab + SMC_instab + IPH_instab.
# EXECUTE.
# Fix plaquephenotypes
attach(AEDB)
# mac instability
AEDB[,"MAC_Instability"] <- NA
AEDB$MAC_Instability[Macrophages.bin == -999] <- NA
AEDB$MAC_Instability[Macrophages.bin == "no/minor"] <- 0
AEDB$MAC_Instability[Macrophages.bin == "moderate/heavy"] <- 1
# fat instability
AEDB[,"FAT10_Instability"] <- NA
AEDB$FAT10_Instability[Fat.bin_10 == -999] <- NA
AEDB$FAT10_Instability[Fat.bin_10 == " <10%"] <- 0
AEDB$FAT10_Instability[Fat.bin_10 == " >10%"] <- 1
# col instability
AEDB[,"COL_Instability"] <- NA
AEDB$COL_Instability[Collagen.bin == -999] <- NA
AEDB$COL_Instability[Collagen.bin == "no/minor"] <- 1
AEDB$COL_Instability[Collagen.bin == "moderate/heavy"] <- 0
# smc instability
AEDB[,"SMC_Instability"] <- NA
AEDB$SMC_Instability[SMC.bin == -999] <- NA
AEDB$SMC_Instability[SMC.bin == "no/minor"] <- 1
AEDB$SMC_Instability[SMC.bin == "moderate/heavy"] <- 0
# iph instability
AEDB[,"IPH_Instability"] <- NA
AEDB$IPH_Instability[IPH.bin == -999] <- NA
AEDB$IPH_Instability[IPH.bin == "no"] <- 0
AEDB$IPH_Instability[IPH.bin == "yes"] <- 1
detach(AEDB)
table(AEDB$MAC_Instability, useNA = "ifany")
0 1 <NA>
1607 1220 1097
table(AEDB$FAT10_Instability, useNA = "ifany")
0 1 <NA>
1270 1708 946
table(AEDB$COL_Instability, useNA = "ifany")
0 1 <NA>
2306 541 1077
table(AEDB$SMC_Instability, useNA = "ifany")
0 1 <NA>
1968 874 1082
table(AEDB$IPH_Instability, useNA = "ifany")
0 1 <NA>
1223 1628 1073
# creating vulnerability index
AEDB <- AEDB %>% mutate(Plaque_Vulnerability_Index = factor(rowSums(.[grep("_Instability", names(.))], na.rm = TRUE)),
)
mutate: new variable 'Plaque_Vulnerability_Index' (factor) with 6 unique values and 0% NA
table(AEDB$Plaque_Vulnerability_Index, useNA = "ifany")
0 1 2 3 4 5
1375 732 730 679 298 110
# str(AEDB$Plaque_Vulnerability_Index)
We are interested in the following variables at baseline.
Age (years)
Female sex (N, %)
Hypertension (N, %)
SBP (mmHg)
DBP (mmHg)
Diabetes mellitus (N, %)
Total cholesterol levels (mg/dL)
LDL cholesterol levels (mg/dL)
HDL cholesterol levels (mg/dL)
Triglyceride levels (mg/dL)
Use of statins (N, %)
Use of antiplatelet drugs (N, %)
BMI (kg/m²)
Smoking status (N, %)
History of CAD (N, %)
History of PAD (N, %)
Clinical manifestations
eGFR (mL/min/1.73 m²)
stenosis
year of surgery
plaque characteristics
cat("===========================================================================================\n")
===========================================================================================
cat("CREATE BASELINE TABLE\n")
CREATE BASELINE TABLE
# Baseline table variables
basetable_vars = c("Hospital", "ORyear",
"Age", "Gender",
"TC_finalCU", "LDL_finalCU", "HDL_finalCU", "TG_finalCU",
"TC_final", "LDL_final", "HDL_final", "TG_final",
"systolic", "diastoli", "GFR_MDRD", "BMI",
"KDOQI", "BMI_WHO",
"SmokerStatus", "AlcoholUse",
"DiabetesStatus",
"Hypertension.selfreport", "Hypertension.selfreportdrug", "Hypertension.composite", "Hypertension.drugs",
"Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD",
"Stroke_Dx", "sympt", "Symptoms.5G", "AsymptSympt",
"restenos", "stenose",
"MedHx_CVD", "CAD_history", "PAOD", "Peripheral.interv",
"EP_composite", "EP_composite_time",
"macmean0", "smcmean0", "Macrophages.bin", "SMC.bin",
"neutrophils", "Mast_cells_plaque",
"IPH.bin", "vessel_density_averaged",
"Calc.bin", "Collagen.bin",
"Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype",
"SMC_rankNorm", "MAC_rankNorm", "Neutrophils_rankNorm", "MastCells_rankNorm", "VesselDensity_rankNorm")
basetable_bin = c("Gender",
"KDOQI", "BMI_WHO",
"SmokerStatus", "AlcoholUse",
"DiabetesStatus",
"Hypertension.selfreport", "Hypertension.selfreportdrug", "Hypertension.composite", "Hypertension.drugs",
"Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD",
"Stroke_Dx", "sympt", "Symptoms.5G", "AsymptSympt",
"restenos", "stenose",
"CAD_history", "PAOD", "Peripheral.interv",
"EP_composite", "Macrophages.bin", "SMC.bin",
"IPH.bin",
"Calc.bin", "Collagen.bin",
"Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype")
# basetable_bin
basetable_con = basetable_vars[!basetable_vars %in% basetable_bin]
# basetable_con
Showing the baseline table of the whole Athero-Express Biobank.
# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
AEDB.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
# strata = "Symptoms.4g",
data = AEDB.full, includeNA = TRUE),
nonnormal = c(), missing = TRUE,
quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
format = "pf",
contDigits = 3)[,1:3]
level Overall Missing
n 3587
Hospital % (freq) St. Antonius, Nieuwegein 43.7 (1567) 0.0
UMC Utrecht 56.3 (2020)
ORyear % (freq) No data available/missing 0.0 ( 0) 0.0
2002 2.4 ( 86)
2003 5.3 ( 191)
2004 7.4 ( 265)
2005 7.7 ( 276)
2006 7.1 ( 254)
2007 5.7 ( 206)
2008 5.3 ( 190)
2009 6.9 ( 246)
2010 7.8 ( 278)
2011 6.8 ( 243)
2012 7.9 ( 284)
2013 6.6 ( 235)
2014 7.8 ( 281)
2015 2.1 ( 77)
2016 3.4 ( 121)
2017 2.3 ( 81)
2018 2.3 ( 82)
2019 2.4 ( 85)
2020 1.9 ( 68)
2021 1.1 ( 38)
Age (mean (SD)) 68.796 (9.197) 0.0
Gender % (freq) female 29.7 (1067) 0.0
male 70.3 (2520)
TC_finalCU (mean (SD)) 186.441 (105.068) 45.8
LDL_finalCU (mean (SD)) 106.593 (45.978) 53.2
HDL_finalCU (mean (SD)) 46.639 (16.721) 50.0
TG_finalCU (mean (SD)) 154.634 (98.415) 50.8
TC_final (mean (SD)) 4.829 (2.721) 45.8
LDL_final (mean (SD)) 2.761 (1.191) 53.2
HDL_final (mean (SD)) 1.208 (0.433) 50.0
TG_final (mean (SD)) 1.747 (1.112) 50.8
systolic (mean (SD)) 150.433 (24.795) 12.7
diastoli (mean (SD)) 79.894 (22.126) 12.7
GFR_MDRD (mean (SD)) 75.175 (24.580) 5.8
BMI (mean (SD)) 26.433 (4.113) 3.7
KDOQI % (freq) No data available/missing 0.0 ( 0) 5.8
Normal kidney function 22.4 ( 803)
CKD 2 (Mild) 48.0 (1721)
CKD 3 (Moderate) 21.7 ( 779)
CKD 4 (Severe) 1.5 ( 53)
CKD 5 (Failure) 0.6 ( 22)
<NA> 5.8 ( 209)
BMI_WHO % (freq) No data available/missing 0.0 ( 0) 3.7
Underweight 1.1 ( 40)
Normal 36.1 (1296)
Overweight 44.2 (1584)
Obese 14.9 ( 533)
<NA> 3.7 ( 134)
SmokerStatus % (freq) Current smoker 34.9 (1252) 4.3
Ex-smoker 50.1 (1796)
Never smoked 10.7 ( 384)
<NA> 4.3 ( 155)
AlcoholUse % (freq) No 32.6 (1171) 3.4
Yes 64.0 (2294)
<NA> 3.4 ( 122)
DiabetesStatus % (freq) Control (no Diabetes Dx/Med) 73.9 (2651) 0.2
Diabetes 25.9 ( 928)
<NA> 0.2 ( 8)
Hypertension.selfreport % (freq) No data available/missing 0.0 ( 0) 2.6
no 23.8 ( 854)
yes 73.6 (2640)
<NA> 2.6 ( 93)
Hypertension.selfreportdrug % (freq) No data available/missing 0.0 ( 0) 3.8
no 29.0 (1039)
yes 67.3 (2413)
<NA> 3.8 ( 135)
Hypertension.composite % (freq) No data available/missing 0.0 ( 0) 0.3
no 13.7 ( 493)
yes 85.9 (3082)
<NA> 0.3 ( 12)
Hypertension.drugs % (freq) No data available/missing 0.0 ( 0) 0.6
no 21.2 ( 759)
yes 78.2 (2805)
<NA> 0.6 ( 23)
Med.anticoagulants % (freq) No data available/missing 0.0 ( 0) 1.0
no 86.4 (3098)
yes 12.7 ( 454)
<NA> 1.0 ( 35)
Med.all.antiplatelet % (freq) No data available/missing 0.0 ( 0) 0.8
no 13.4 ( 482)
yes 85.8 (3078)
<NA> 0.8 ( 27)
Med.Statin.LLD % (freq) No data available/missing 0.0 ( 0) 0.7
no 20.9 ( 748)
yes 78.5 (2815)
<NA> 0.7 ( 24)
Stroke_Dx % (freq) Missing 0.0 ( 0) 5.3
No stroke diagnosed 77.3 (2771)
Stroke diagnosed 17.5 ( 626)
<NA> 5.3 ( 190)
sympt % (freq) missing 28.1 (1008) 0.0
Asymptomatic 9.1 ( 327)
TIA 27.7 ( 992)
minor stroke 11.4 ( 408)
Major stroke 7.3 ( 263)
Amaurosis fugax 11.2 ( 401)
Four vessel disease 1.1 ( 39)
Vertebrobasilary TIA 0.1 ( 5)
Retinal infarction 1.0 ( 37)
Symptomatic, but aspecific symtoms 1.6 ( 59)
Contralateral symptomatic occlusion 0.3 ( 11)
retinal infarction 0.3 ( 9)
armclaudication due to occlusion subclavian artery, CEA needed for bypass 0.0 ( 1)
retinal infarction + TIAs 0.0 ( 0)
Ocular ischemic syndrome 0.7 ( 25)
ischemisch glaucoom 0.0 ( 0)
subclavian steal syndrome 0.1 ( 2)
TGA 0.0 ( 0)
Symptoms.5G % (freq) Asymptomatic 9.1 ( 327) 28.1
Ocular 11.9 ( 426)
Other 3.1 ( 112)
Retinal infarction 1.3 ( 46)
Stroke 18.7 ( 671)
TIA 27.8 ( 997)
<NA> 28.1 (1008)
AsymptSympt % (freq) Asymptomatic 9.1 ( 327) 28.1
Ocular and others 16.3 ( 584)
Symptomatic 46.5 (1668)
<NA> 28.1 (1008)
restenos % (freq) missing 0.0 ( 0) 3.8
de novo 86.9 (3117)
restenosis 9.1 ( 328)
stenose bij angioseal na PTCA 0.1 ( 5)
<NA> 3.8 ( 137)
stenose % (freq) missing 0.0 ( 0) 6.5
0-49% 0.7 ( 24)
50-70% 7.1 ( 255)
70-90% 36.0 (1290)
90-99% 30.1 (1079)
100% (Occlusion) 14.1 ( 504)
NA 0.1 ( 3)
50-99% 2.5 ( 89)
70-99% 3.0 ( 107)
99 0.1 ( 2)
<NA> 6.5 ( 234)
MedHx_CVD % (freq) No 33.5 (1202) 0.3
yes 66.2 (2376)
<NA> 0.3 ( 9)
CAD_history % (freq) Missing 0.0 ( 0) 0.3
No history CAD 65.2 (2338)
History CAD 34.5 (1237)
<NA> 0.3 ( 12)
PAOD % (freq) missing/no data 0.0 ( 0) 0.3
no 56.6 (2031)
yes 43.1 (1547)
<NA> 0.3 ( 9)
Peripheral.interv % (freq) no 69.0 (2476) 0.6
yes 30.4 (1090)
<NA> 0.6 ( 21)
EP_composite % (freq) No data available. 0.0 ( 0) 5.2
No composite endpoints 62.9 (2258)
Composite endpoints 31.9 (1143)
<NA> 5.2 ( 186)
EP_composite_time (mean (SD)) 2.340 (1.181) 5.5
macmean0 (mean (SD)) 0.659 (1.159) 35.3
smcmean0 (mean (SD)) 2.185 (2.698) 35.3
Macrophages.bin % (freq) no/minor 40.1 (1440) 28.8
moderate/heavy 31.1 (1114)
<NA> 28.8 (1033)
SMC.bin % (freq) no/minor 22.3 ( 801) 28.4
moderate/heavy 49.2 (1766)
<NA> 28.4 (1020)
neutrophils (mean (SD)) 144.084 (415.728) 91.3
Mast_cells_plaque (mean (SD)) 164.399 (163.438) 93.2
IPH.bin % (freq) no 30.6 (1099) 28.0
yes 41.3 (1483)
<NA> 28.0 (1005)
vessel_density_averaged (mean (SD)) 8.075 (6.275) 50.2
Calc.bin % (freq) no/minor 38.6 (1384) 24.6
moderate/heavy 36.8 (1319)
<NA> 24.6 ( 884)
Collagen.bin % (freq) no/minor 13.9 ( 497) 28.3
moderate/heavy 57.8 (2075)
<NA> 28.3 (1015)
Fat.bin_10 % (freq) <10% 31.7 (1136) 24.6
>10% 43.7 (1567)
<NA> 24.6 ( 884)
Fat.bin_40 % (freq) <40% 59.4 (2132) 24.6
>40% 15.9 ( 571)
<NA> 24.6 ( 884)
OverallPlaquePhenotype % (freq) atheromatous 15.3 ( 550) 25.3
fibroatheromatous 22.5 ( 806)
fibrous 36.9 (1324)
<NA> 25.3 ( 907)
SMC_rankNorm (mean (SD)) -0.003 (1.004) 35.3
MAC_rankNorm (mean (SD)) 0.004 (0.993) 35.3
Neutrophils_rankNorm (mean (SD)) 0.010 (0.953) 91.3
MastCells_rankNorm (mean (SD)) -0.009 (1.000) 93.2
VesselDensity_rankNorm (mean (SD)) 0.017 (0.978) 50.2
# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
AEDB.CEA.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
# strata = "Symptoms.4g",
data = AEDB.CEA, includeNA = TRUE),
nonnormal = c(), missing = TRUE,
quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
format = "pf",
contDigits = 3)[,1:3]
level Overall Missing
n 2533
Hospital % (freq) St. Antonius, Nieuwegein 37.5 ( 951) 0.0
UMC Utrecht 62.5 (1582)
ORyear % (freq) No data available/missing 0.0 ( 0) 0.0
2002 3.2 ( 81)
2003 6.2 ( 157)
2004 7.5 ( 190)
2005 7.3 ( 186)
2006 7.2 ( 183)
2007 6.0 ( 152)
2008 5.5 ( 139)
2009 7.2 ( 183)
2010 6.3 ( 159)
2011 6.5 ( 165)
2012 7.1 ( 179)
2013 5.9 ( 150)
2014 6.5 ( 164)
2015 3.0 ( 76)
2016 3.4 ( 85)
2017 2.6 ( 66)
2018 2.7 ( 69)
2019 2.6 ( 65)
2020 2.2 ( 55)
2021 1.1 ( 29)
Age (mean (SD)) 69.167 (9.287) 0.0
Gender % (freq) female 30.6 ( 774) 0.0
male 69.4 (1759)
TC_finalCU (mean (SD)) 184.109 (55.942) 38.1
LDL_finalCU (mean (SD)) 107.710 (41.683) 45.4
HDL_finalCU (mean (SD)) 46.464 (16.855) 41.7
TG_finalCU (mean (SD)) 151.857 (91.217) 42.7
TC_final (mean (SD)) 4.768 (1.449) 38.1
LDL_final (mean (SD)) 2.790 (1.080) 45.4
HDL_final (mean (SD)) 1.203 (0.437) 41.7
TG_final (mean (SD)) 1.716 (1.031) 42.7
systolic (mean (SD)) 151.930 (24.994) 11.3
diastoli (mean (SD)) 81.065 (24.738) 11.3
GFR_MDRD (mean (SD)) 73.514 (21.454) 4.1
BMI (mean (SD)) 26.549 (4.110) 3.8
KDOQI % (freq) No data available/missing 0.0 ( 0) 4.2
Normal kidney function 19.9 ( 505)
CKD 2 (Mild) 51.3 (1299)
CKD 3 (Moderate) 22.9 ( 579)
CKD 4 (Severe) 1.3 ( 34)
CKD 5 (Failure) 0.4 ( 10)
<NA> 4.2 ( 106)
BMI_WHO % (freq) No data available/missing 0.0 ( 0) 3.9
Underweight 1.0 ( 25)
Normal 35.7 ( 905)
Overweight 44.0 (1114)
Obese 15.4 ( 390)
<NA> 3.9 ( 99)
SmokerStatus % (freq) Current smoker 33.8 ( 855) 4.6
Ex-smoker 48.3 (1224)
Never smoked 13.3 ( 338)
<NA> 4.6 ( 116)
AlcoholUse % (freq) No 34.9 ( 883) 3.6
Yes 61.5 (1559)
<NA> 3.6 ( 91)
DiabetesStatus % (freq) Control (no Diabetes Dx/Med) 76.0 (1925) 0.2
Diabetes 23.8 ( 602)
<NA> 0.2 ( 6)
Hypertension.selfreport % (freq) No data available/missing 0.0 ( 0) 2.4
no 24.4 ( 618)
yes 73.2 (1854)
<NA> 2.4 ( 61)
Hypertension.selfreportdrug % (freq) No data available/missing 0.0 ( 0) 3.4
no 29.9 ( 758)
yes 66.7 (1689)
<NA> 3.4 ( 86)
Hypertension.composite % (freq) No data available/missing 0.0 ( 0) 0.3
no 15.0 ( 380)
yes 84.7 (2146)
<NA> 0.3 ( 7)
Hypertension.drugs % (freq) No data available/missing 0.0 ( 0) 0.6
no 23.6 ( 598)
yes 75.8 (1919)
<NA> 0.6 ( 16)
Med.anticoagulants % (freq) No data available/missing 0.0 ( 0) 1.0
no 87.7 (2221)
yes 11.3 ( 286)
<NA> 1.0 ( 26)
Med.all.antiplatelet % (freq) No data available/missing 0.0 ( 0) 0.8
no 12.4 ( 314)
yes 86.9 (2200)
<NA> 0.8 ( 19)
Med.Statin.LLD % (freq) No data available/missing 0.0 ( 0) 0.7
no 20.0 ( 507)
yes 79.3 (2009)
<NA> 0.7 ( 17)
Stroke_Dx % (freq) Missing 0.0 ( 0) 4.5
No stroke diagnosed 73.1 (1851)
Stroke diagnosed 22.5 ( 569)
<NA> 4.5 ( 113)
sympt % (freq) missing 0.7 ( 17) 0.0
Asymptomatic 11.0 ( 279)
TIA 38.8 ( 984)
minor stroke 16.1 ( 407)
Major stroke 10.4 ( 263)
Amaurosis fugax 15.8 ( 400)
Four vessel disease 1.5 ( 38)
Vertebrobasilary TIA 0.2 ( 5)
Retinal infarction 1.5 ( 37)
Symptomatic, but aspecific symtoms 2.2 ( 55)
Contralateral symptomatic occlusion 0.4 ( 11)
retinal infarction 0.4 ( 9)
armclaudication due to occlusion subclavian artery, CEA needed for bypass 0.0 ( 1)
retinal infarction + TIAs 0.0 ( 0)
Ocular ischemic syndrome 1.0 ( 25)
ischemisch glaucoom 0.0 ( 0)
subclavian steal syndrome 0.1 ( 2)
TGA 0.0 ( 0)
Symptoms.5G % (freq) Asymptomatic 11.0 ( 279) 0.7
Ocular 16.8 ( 425)
Other 4.2 ( 107)
Retinal infarction 1.8 ( 46)
Stroke 26.5 ( 670)
TIA 39.0 ( 989)
<NA> 0.7 ( 17)
AsymptSympt % (freq) Asymptomatic 11.0 ( 279) 0.7
Ocular and others 22.8 ( 578)
Symptomatic 65.5 (1659)
<NA> 0.7 ( 17)
restenos % (freq) missing 0.0 ( 0) 1.6
de novo 93.5 (2369)
restenosis 4.9 ( 124)
stenose bij angioseal na PTCA 0.0 ( 0)
<NA> 1.6 ( 40)
stenose % (freq) missing 0.0 ( 0) 2.2
0-49% 0.6 ( 14)
50-70% 7.9 ( 200)
70-90% 46.0 (1165)
90-99% 38.1 ( 965)
100% (Occlusion) 1.3 ( 34)
NA 0.0 ( 1)
50-99% 0.7 ( 17)
70-99% 3.2 ( 80)
99 0.1 ( 2)
<NA> 2.2 ( 55)
MedHx_CVD % (freq) No 35.8 ( 908) 0.2
yes 64.0 (1620)
<NA> 0.2 ( 5)
CAD_history % (freq) Missing 0.0 ( 0) 0.3
No history CAD 67.9 (1719)
History CAD 31.8 ( 806)
<NA> 0.3 ( 8)
PAOD % (freq) missing/no data 0.0 ( 0) 0.3
no 78.6 (1992)
yes 21.1 ( 534)
<NA> 0.3 ( 7)
Peripheral.interv % (freq) no 78.4 (1986) 0.6
yes 21.0 ( 531)
<NA> 0.6 ( 16)
EP_composite % (freq) No data available. 0.0 ( 0) 5.6
No composite endpoints 70.1 (1775)
Composite endpoints 24.4 ( 617)
<NA> 5.6 ( 141)
EP_composite_time (mean (SD)) 2.490 (1.117) 5.8
macmean0 (mean (SD)) 0.769 (1.186) 32.5
smcmean0 (mean (SD)) 1.982 (2.378) 32.7
Macrophages.bin % (freq) no/minor 33.7 ( 853) 27.0
moderate/heavy 39.4 ( 997)
<NA> 27.0 ( 683)
SMC.bin % (freq) no/minor 24.0 ( 607) 26.7
moderate/heavy 49.3 (1250)
<NA> 26.7 ( 676)
neutrophils (mean (SD)) 146.685 (419.386) 88.0
Mast_cells_plaque (mean (SD)) 164.488 (163.771) 90.4
IPH.bin % (freq) no 29.6 ( 749) 26.6
yes 43.9 (1111)
<NA> 26.6 ( 673)
vessel_density_averaged (mean (SD)) 8.322 (6.386) 37.8
Calc.bin % (freq) no/minor 41.3 (1045) 24.8
moderate/heavy 34.0 ( 860)
<NA> 24.8 ( 628)
Collagen.bin % (freq) no/minor 15.2 ( 386) 26.5
moderate/heavy 58.3 (1476)
<NA> 26.5 ( 671)
Fat.bin_10 % (freq) <10% 21.9 ( 555) 24.8
>10% 53.3 (1351)
<NA> 24.8 ( 627)
Fat.bin_40 % (freq) <40% 55.1 (1395) 24.8
>40% 20.2 ( 511)
<NA> 24.8 ( 627)
OverallPlaquePhenotype % (freq) atheromatous 19.5 ( 495) 25.1
fibroatheromatous 27.4 ( 694)
fibrous 28.0 ( 708)
<NA> 25.1 ( 636)
SMC_rankNorm (mean (SD)) -0.061 (0.962) 32.7
MAC_rankNorm (mean (SD)) 0.179 (0.952) 32.5
Neutrophils_rankNorm (mean (SD)) 0.027 (0.951) 88.0
MastCells_rankNorm (mean (SD)) -0.010 (1.002) 90.4
VesselDensity_rankNorm (mean (SD)) 0.057 (0.981) 37.8
metadata <- scRNAseqData@meta.data %>% as_tibble()
scRNAseqDataMeta <- metadata %>% distinct(Patient, .keep_all = TRUE)
distinct: removed 6,154 rows (99%), 37 rows remaining
scRNAseqDataMetaAE <- merge(scRNAseqDataMeta, AEDB, by.x = "Patient", by.y = "STUDY_NUMBER", sort = FALSE, all.x = TRUE)
dim(scRNAseqDataMetaAE)
[1] 37 1216
# Replace missing data
# Ref: https://cran.r-project.org/web/packages/naniar/vignettes/replace-with-na.html
require(naniar)
na_strings <- c("NA", "N A", "N / A", "N/A", "N/ A",
"Not Available", "Not available",
"missing",
"-999", "-99",
"No data available/missing", "No data available/Missing")
# Then you write ~.x %in% na_strings - which reads as “does this value occur in the list of NA strings”.
scRNAseqDataMetaAE %>%
replace_with_na_all(condition = ~.x %in% na_strings)
cat("====================================================================================================")
====================================================================================================
cat("SELECTION THE SHIZZLE")
SELECTION THE SHIZZLE
cat("- sanity checking PRIOR to selection")
- sanity checking PRIOR to selection
library(data.table)
require(labelled)
ae.gender <- to_factor(scRNAseqDataMetaAE$Gender)
ae.hospital <- to_factor(scRNAseqDataMetaAE$Hospital)
table(ae.gender, ae.hospital, dnn = c("Sex", "Hospital"), useNA = "ifany")
Hospital
Sex St. Antonius, Nieuwegein UMC Utrecht
female 0 11
male 0 26
ae.artery <- to_factor(scRNAseqDataMetaAE$Artery_summary)
table(ae.artery, ae.gender, dnn = c("Sex", "Artery"), useNA = "ifany")
Artery
Sex female male
No artery known (yet), no surgery (patient ill, died, exited study), re-numbered to AAA 0 0
carotid (left & right) 11 25
femoral/iliac (left, right or both sides) 0 0
other carotid arteries (common, external) 0 1
carotid bypass and injury (left, right or both sides) 0 0
aneurysmata (carotid & femoral) 0 0
aorta 0 0
other arteries (renal, popliteal, vertebral) 0 0
femoral bypass, angioseal and injury (left, right or both sides) 0 0
ae.ic <- to_factor(scRNAseqDataMetaAE$informedconsent)
table(ae.ic, ae.gender, useNA = "ifany")
ae.gender
ae.ic female male
missing 0 0
no, died 0 0
yes 6 14
yes, health treatment when possible 2 7
yes, no health treatment 1 2
yes, no health treatment, no commercial business 1 2
yes, no tissue, no commerical business 0 0
yes, no tissue, no questionnaires, no medical info, no commercial business 0 0
yes, no questionnaires, no health treatment, no commercial business 0 0
yes, no questionnaires, health treatment when possible 0 0
yes, no tissue, no questionnaires, no health treatment, no commerical business 0 0
yes, no health treatment, no medical info, no commercial business 0 0
yes, no tissue, no questionnaires, no health treatment, no medical info, no commercial business 0 0
yes, no questionnaires, no health treatment 0 0
yes, no tissue, no health treatment 0 0
yes, no tissue, no questionnaires 0 0
yes, no tissue, health treatment when possible 0 0
yes, no tissue 0 0
yes, no commerical business 0 1
yes, health treatment when possible, no commercial business 0 0
yes, no medical info, no commercial business 0 0
yes, no questionnaires 0 0
yes, no tissue, no questionnaires, no health treatment, no medical info 0 0
yes, no tissue, no questionnaires, no health treatment, no commercial business 0 0
yes, no medical info 0 0
yes, no questionnaires, no commercial business 0 0
yes, no questionnaires, no health treatment, no medical info 0 0
yes, no questionnaires, health treatment when possible, no commercial business 0 0
yes, no health treatment, no medical info 0 0
no, doesn't want to 0 0
no, unable to sign 0 0
no, no reaction 0 0
no, lost 0 0
no, too old 0 0
yes, no medical info, health treatment when possible 1 0
no (never asked for IC because there was no tissue) 0 0
yes, no medical info, no commercial business, health treatment when possible 0 0
no, endpoint 0 0
wil niets invullen, wel alles gebruiken 0 0
second informed concents: yes, no commercial business 0 0
nooit geincludeerd 0 0
rm(ae.gender, ae.hospital, ae.artery, ae.ic)
scRNAseqDataMetaAE.all <- subset(scRNAseqDataMetaAE,
(Artery_summary == "carotid (left & right)" | Artery_summary == "other carotid arteries (common, external)" ) & # we only want carotids
informedconsent != "missing" & # we are really strict in selecting based on 'informed consent'!
informedconsent != "no, died" &
informedconsent != "yes, no tissue, no commerical business" &
informedconsent != "yes, no tissue, no questionnaires, no medical info, no commercial business" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no commerical business" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no medical info, no commercial business" &
informedconsent != "yes, no tissue, no health treatment" &
informedconsent != "yes, no tissue, no questionnaires" &
informedconsent != "yes, no tissue, health treatment when possible" &
informedconsent != "yes, no tissue" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no medical info" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no commercial business" &
informedconsent != "no, doesn't want to" &
informedconsent != "no, unable to sign" &
informedconsent != "no, no reaction" &
informedconsent != "no, lost" &
informedconsent != "no, too old" &
informedconsent != "yes, no medical info, health treatment when possible" &
informedconsent != "no (never asked for IC because there was no tissue)" &
informedconsent != "no, endpoint" &
informedconsent != "nooit geincludeerd")
# scRNAseqDataMetaAE.all[1:10, 1:10]
dim(scRNAseqDataMetaAE.all)
[1] 36 1216
# DT::datatable(scRNAseqDataMetaAE.all)
Showing the baseline table.
cat("===========================================================================================")
===========================================================================================
cat("CREATE BASELINE TABLE")
CREATE BASELINE TABLE
# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
scRNAseqDataMetaAE.all.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
# strata = "Gender",
data = scRNAseqDataMetaAE.all, includeNA = TRUE),
nonnormal = c(),
quote = FALSE, showAllLevels = TRUE,
format = "p",
contDigits = 3)[,1:2]
Warning in ModuleReturnVarsExist(vars, data) :
These variables only have NA/NaN: macmean0 smcmean0 neutrophils Mast_cells_plaque IPH.bin vessel_density_averaged SMC_rankNorm MAC_rankNorm Neutrophils_rankNorm MastCells_rankNorm VesselDensity_rankNorm Dropped
level Overall
n 36
Hospital (%) St. Antonius, Nieuwegein 0.0
UMC Utrecht 100.0
ORyear (%) No data available/missing 0.0
2002 0.0
2003 0.0
2004 0.0
2005 0.0
2006 0.0
2007 0.0
2008 0.0
2009 0.0
2010 0.0
2011 0.0
2012 0.0
2013 0.0
2014 0.0
2015 0.0
2016 0.0
2017 0.0
2018 63.9
2019 36.1
2020 0.0
2021 0.0
Age (mean (SD)) 72.444 (8.255)
Gender (%) female 27.8
male 72.2
TC_finalCU (mean (SD)) 167.402 (47.126)
LDL_finalCU (mean (SD)) 95.810 (37.936)
HDL_finalCU (mean (SD)) 43.901 (9.974)
TG_finalCU (mean (SD)) 171.001 (107.745)
TC_final (mean (SD)) 4.336 (1.221)
LDL_final (mean (SD)) 2.481 (0.983)
HDL_final (mean (SD)) 1.137 (0.258)
TG_final (mean (SD)) 1.932 (1.218)
systolic (mean (SD)) 152.714 (25.400)
diastoli (mean (SD)) 80.229 (15.904)
GFR_MDRD (mean (SD)) 82.126 (31.316)
BMI (mean (SD)) 26.626 (3.689)
KDOQI (%) No data available/missing 0.0
Normal kidney function 33.3
CKD 2 (Mild) 30.6
CKD 3 (Moderate) 25.0
CKD 4 (Severe) 0.0
CKD 5 (Failure) 0.0
<NA> 11.1
BMI_WHO (%) No data available/missing 0.0
Underweight 2.8
Normal 33.3
Overweight 41.7
Obese 16.7
<NA> 5.6
SmokerStatus (%) Current smoker 33.3
Ex-smoker 50.0
Never smoked 13.9
<NA> 2.8
AlcoholUse (%) No 38.9
Yes 55.6
<NA> 5.6
DiabetesStatus (%) Control (no Diabetes Dx/Med) 63.9
Diabetes 36.1
Hypertension.selfreport (%) No data available/missing 0.0
no 11.1
yes 86.1
<NA> 2.8
Hypertension.selfreportdrug (%) No data available/missing 0.0
no 11.1
yes 86.1
<NA> 2.8
Hypertension.composite (%) No data available/missing 0.0
no 5.6
yes 94.4
Hypertension.drugs (%) No data available/missing 0.0
no 5.6
yes 91.7
<NA> 2.8
Med.anticoagulants (%) No data available/missing 0.0
no 88.9
yes 5.6
<NA> 5.6
Med.all.antiplatelet (%) No data available/missing 0.0
no 25.0
yes 72.2
<NA> 2.8
Med.Statin.LLD (%) No data available/missing 0.0
no 19.4
yes 77.8
<NA> 2.8
Stroke_Dx (%) Missing 0.0
No stroke diagnosed 50.0
Stroke diagnosed 50.0
sympt (%) missing 0.0
Asymptomatic 16.7
TIA 13.9
minor stroke 30.6
Major stroke 11.1
Amaurosis fugax 13.9
Four vessel disease 0.0
Vertebrobasilary TIA 0.0
Retinal infarction 2.8
Symptomatic, but aspecific symtoms 2.8
Contralateral symptomatic occlusion 0.0
retinal infarction 2.8
armclaudication due to occlusion subclavian artery, CEA needed for bypass 0.0
retinal infarction + TIAs 0.0
Ocular ischemic syndrome 5.6
ischemisch glaucoom 0.0
subclavian steal syndrome 0.0
TGA 0.0
Symptoms.5G (%) Asymptomatic 16.7
Ocular 19.4
Other 2.8
Retinal infarction 5.6
Stroke 41.7
TIA 13.9
AsymptSympt (%) Asymptomatic 16.7
Ocular and others 27.8
Symptomatic 55.6
restenos (%) missing 0.0
de novo 100.0
restenosis 0.0
stenose bij angioseal na PTCA 0.0
stenose (%) missing 0.0
0-49% 2.8
50-70% 16.7
70-90% 41.7
90-99% 22.2
100% (Occlusion) 0.0
NA 0.0
50-99% 0.0
70-99% 16.7
99 0.0
MedHx_CVD (%) No 27.8
yes 72.2
CAD_history (%) Missing 0.0
No history CAD 72.2
History CAD 27.8
PAOD (%) missing/no data 0.0
no 86.1
yes 13.9
Peripheral.interv (%) no 77.8
yes 22.2
EP_composite (%) No data available. 0.0
No composite endpoints 72.2
Composite endpoints 11.1
<NA> 16.7
EP_composite_time (mean (SD)) 1.319 (0.642)
Macrophages.bin (%) no/minor 2.8
moderate/heavy 2.8
<NA> 94.4
SMC.bin (%) no/minor 2.8
moderate/heavy 2.8
<NA> 94.4
Calc.bin (%) no/minor 5.6
moderate/heavy 0.0
<NA> 94.4
Collagen.bin (%) no/minor 0.0
moderate/heavy 5.6
<NA> 94.4
Fat.bin_10 (%) <10% 0.0
>10% 5.6
<NA> 94.4
Fat.bin_40 (%) <40% 2.8
>40% 2.8
<NA> 94.4
OverallPlaquePhenotype (%) atheromatous 2.8
fibroatheromatous 2.8
fibrous 0.0
<NA> 94.4
Writing the baseline table to Excel format.
# Write basetable
require(openxlsx)
write.xlsx(file = paste0(OUT_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.scRNAseq.xlsx"),
format(scRNAseqDataMetaAE.all.tableOne, digits = 5, scientific = FALSE),
rowNames = TRUE, colNames = TRUE, overwrite = TRUE)
Here review the number of cells per sample, plate, and patients. And plot the ratio’s per sample and study number.
## check stuff
cat("\nHow many cells per type ...?")
How many cells per type ...?
sort(table(scRNAseqData@meta.data$SCT_snn_res.0.8))
17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
31 34 84 110 151 172 190 203 211 225 290 345 437 534 577 626 861 1110
cat("\n\nHow many cells per plate ...?")
How many cells per plate ...?
sort(table(scRNAseqData@meta.data$ID))
4530.P1 4440.P1 4472.P1 4478.P1 4477.P1 4500.P1 4458.P1 4459.P1 4447.P2 4447.P3 4487.P2 4502.P1 4455.P1 4496.P1 4501.P1 4447.P1 4489.P1 4476.P1 4448.P1 4487.P1 4571.P1 4495.P1 4432.P1
4 11 32 40 41 45 47 48 51 66 75 80 82 88 93 96 102 104 105 112 112 115 129
4520.P1 4450.P2 4545.P1 4513.P1 4452.P3 4453.P3 4452.P2 4450.P1 4558.P1 4535.P1 4488.P1 4480.P1 4470.P1 4450.P3 4453.P1 4486.P1 4452.P1 4546.P1 4443.P2 4491.P1 4453.P2 4530.P2 4443.P1
130 134 135 139 141 143 155 157 157 158 159 161 165 166 177 179 183 188 189 193 197 207 209
4521.P2 4443.P3 4542.P1
212 239 240
cat("\n\nHow many cells per type per plate ...?")
How many cells per type per plate ...?
table(scRNAseqData@meta.data$SCT_snn_res.0.8, scRNAseqData@meta.data$ID)
4432.P1 4440.P1 4443.P1 4443.P2 4443.P3 4447.P1 4447.P2 4447.P3 4448.P1 4450.P1 4450.P2 4450.P3 4452.P1 4452.P2 4452.P3 4453.P1 4453.P2 4453.P3 4455.P1 4458.P1 4459.P1 4470.P1
0 28 2 31 56 53 8 7 12 22 15 22 22 5 15 21 19 20 23 10 5 2 44
1 23 0 0 1 0 0 0 0 27 13 10 11 7 17 14 18 27 17 9 2 9 25
2 18 1 15 11 8 9 5 4 11 20 23 25 4 8 8 7 4 6 19 8 9 16
3 2 0 3 4 4 4 3 8 0 27 20 50 134 48 32 42 78 12 2 2 0 2
4 14 2 5 7 5 2 3 2 6 12 5 5 7 10 6 33 15 19 10 1 2 23
5 11 3 21 22 28 5 6 5 7 9 4 5 5 6 4 17 14 14 5 6 6 5
6 1 1 66 46 73 15 1 4 3 4 7 6 4 10 13 18 10 26 3 1 3 20
7 4 0 14 6 4 8 4 6 3 31 24 10 5 9 14 4 2 5 0 2 1 7
8 9 0 10 2 5 4 3 7 4 2 5 4 0 2 2 1 3 1 4 2 0 4
9 3 1 3 2 2 8 5 8 8 14 4 8 2 3 2 0 0 2 1 8 0 0
10 7 0 5 6 1 2 2 0 2 2 3 6 3 4 2 1 4 2 7 2 2 1
11 0 1 7 5 2 23 11 8 0 0 5 3 0 8 7 1 2 5 3 2 6 7
12 4 0 8 7 11 0 0 0 9 0 0 5 3 6 6 2 11 3 3 0 4 7
13 1 0 20 7 40 6 0 0 1 0 1 1 0 0 1 0 1 0 2 1 1 2
14 1 0 0 1 1 1 0 1 1 5 1 3 1 2 6 4 3 1 2 3 0 0
15 0 0 1 5 1 1 1 1 0 1 0 1 3 6 2 4 3 3 1 2 1 2
16 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 3 0 0 2 0
17 2 0 0 1 0 0 0 0 1 2 0 1 0 1 0 4 0 1 1 0 0 0
4472.P1 4476.P1 4477.P1 4478.P1 4480.P1 4486.P1 4487.P1 4487.P2 4488.P1 4489.P1 4491.P1 4495.P1 4496.P1 4500.P1 4501.P1 4502.P1 4513.P1 4520.P1 4521.P2 4530.P1 4530.P2 4535.P1
0 1 10 11 7 15 38 15 5 28 30 38 12 7 9 28 25 29 23 43 0 29 32
1 5 21 12 7 51 21 27 21 44 20 51 29 9 4 28 17 24 20 48 1 12 24
2 10 8 2 6 16 31 18 11 10 4 11 14 49 5 10 1 9 13 13 1 72 12
3 0 7 0 1 3 7 0 14 1 0 1 2 3 6 3 2 2 7 14 1 9 1
4 0 7 2 1 1 7 1 2 4 11 16 15 3 3 2 17 29 8 32 0 17 45
5 3 13 1 5 17 5 11 4 8 4 22 14 4 8 3 5 17 7 14 1 18 12
6 0 0 0 0 0 1 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 3 3 0 1 12 19 5 0 18 4 2 3 1 1 3 0 1 1 0 0 3 1
8 3 3 1 4 2 12 7 2 6 9 5 6 1 0 1 2 14 19 1 0 25 2
9 0 1 0 1 3 14 6 1 17 4 9 1 2 0 1 1 4 7 2 0 2 0
10 4 4 1 0 12 3 2 1 2 4 18 7 3 0 7 1 4 3 4 0 4 12
11 1 10 5 1 9 8 0 11 2 3 2 5 0 2 5 2 1 7 5 0 0 2
12 1 2 5 4 8 4 4 1 16 2 9 1 0 0 0 7 4 0 6 0 0 4
13 0 1 0 0 0 1 3 0 1 0 3 0 1 0 0 0 0 1 20 0 5 0
14 0 9 0 1 2 0 1 1 1 3 1 4 1 5 0 0 1 11 2 0 6 7
15 1 2 0 1 8 6 2 1 0 1 4 1 2 0 1 0 0 1 6 0 0 2
16 0 2 0 0 2 2 0 0 1 0 0 1 1 2 1 0 0 0 1 0 1 2
17 0 1 1 0 0 0 1 0 0 3 1 0 1 0 0 0 0 2 1 0 4 0
4542.P1 4545.P1 4546.P1 4558.P1 4571.P1
0 78 57 44 44 10
1 41 17 38 28 11
2 11 1 8 11 30
3 2 6 3 3 2
4 13 14 64 22 4
5 12 3 4 3 11
6 0 0 0 0 0
7 23 4 4 7 8
8 5 8 1 3 9
9 37 5 2 5 2
10 5 6 12 19 1
11 1 1 1 0 0
12 1 1 2 1 0
13 3 5 1 6 15
14 2 6 3 2 4
15 2 0 1 2 1
16 3 1 0 0 4
17 1 0 0 1 0
cat("\n\nHow many cells per patient ...?")
How many cells per patient ...?
sort(table(scRNAseqData@meta.data$Patient))
4440 4472 4478 4477 4500 4458 4459 4502 4455 4496 4501 4489 4476 4448 4571 4495 4432 4520 4545 4513 4558 4535 4488 4480 4470 4486 4487 4546 4491 4530 4521 4447 4542 4450 4452 4453 4443
11 32 40 41 45 47 48 80 82 88 93 102 104 105 112 115 129 130 135 139 157 158 159 161 165 179 187 188 193 211 212 213 240 457 479 517 637
cat("\n\nVisualizing these ratio's per study number and sample ...?")
Visualizing these ratio's per study number and sample ...?
UMAPPlot(scRNAseqData, label = TRUE, pt.size = 1.25, label.size = 4, group.by = "ident",
repel = TRUE)
ggsave(paste0(PLOT_loc, "/", Today, ".UMAP.png"), plot = last_plot())
Saving 7.29 x 4.51 in image
ggsave(paste0(PLOT_loc, "/", Today, ".UMAP.ps"), plot = last_plot())
Saving 7.29 x 4.51 in image
barplot(prop.table(x = table(scRNAseqData@active.ident, scRNAseqData@meta.data$Patient)),
cex.axis = 1.0, cex.names = 0.5, las = 1,
col = uithof_color, xlab = "study number", legend.text = FALSE, args.legend = list(x = "bottom"))
dev.copy(pdf, paste0(QC_loc, "/", Today, ".cell_ratios_per_sample.pdf"))
pdf
3
dev.off()
quartz_off_screen
2
barplot(prop.table(x = table(scRNAseqData@active.ident, scRNAseqData@meta.data$ID)),
cex.axis = 1.0, cex.names = 0.5, las = 2,
col = uithof_color, xlab = "sample ID", legend.text = FALSE, args.legend = list(x = "bottom"))
dev.copy(pdf, paste0(QC_loc, "/", Today, ".cell_ratios_per_sample_per_plate.pdf"))
pdf
3
dev.off()
quartz_off_screen
2
Let’s project known cellular markers.
UMAPPlot(scRNAseqData, label = FALSE, pt.size = 1.25, label.size = 4, group.by = "ident",
repel = TRUE)
# endothelial cells
FeaturePlot(scRNAseqData, features = c("CD34"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("EDN1"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("EDNRA", "EDNRB"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("CDH5", "PECAM1"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("ACKR1"), cols = c("#ECECEC", "#DB003F"))
# SMC
FeaturePlot(scRNAseqData, features = c("MYH11"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("LGALS3", "ACTA2"), cols = c("#ECECEC", "#DB003F"))
# macrophages
FeaturePlot(scRNAseqData, features = c("CD14", "CD68"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("CD36"), cols = c("#ECECEC", "#DB003F"))
# t-cells
FeaturePlot(scRNAseqData, features = c("CD3E"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("CD4"), cols = c("#ECECEC", "#DB003F"))
# FeaturePlot(scRNAseqData, features = c("CD8"), cols = c("#ECECEC", "#DB003F"))
# b-cells
FeaturePlot(scRNAseqData, features = c("CD79A"), cols = c("#ECECEC", "#DB003F"))
# mast cells
FeaturePlot(scRNAseqData, features = c("KIT"), cols = c("#ECECEC", "#DB003F"))
# NK cells
FeaturePlot(scRNAseqData, features = c("NCAM1"), cols = c("#ECECEC", "#DB003F"))
We check whether the targets genes, PCSK9, COL4A1, COL4A2, COL3A, COL2A, LDLR, CD36, were sequenced using our method (STARseq).
Several genes are not present or have different names, these are listed here, and were manually removed from/changed in the list.
target_genes_rm <- c("COL3A", "COL2A")
temp = target_genes[!target_genes %in% target_genes_rm]
target_genes_qc <- c(temp)
# VlnPlot(scRNAseqData, features = "LINC01600")
# Make directory for plots
ifelse(!dir.exists(file.path(PLOT_loc, "/VlnPlots")),
dir.create(file.path(PLOT_loc, "/VlnPlots")),
FALSE)
[1] FALSE
VLN_loc = paste0(PLOT_loc,"/VlnPlots")
# Make directory for plots
ifelse(!dir.exists(file.path(PLOT_loc, "/DotPlots")),
dir.create(file.path(PLOT_loc, "/DotPlots")),
FALSE)
[1] FALSE
DOT_loc = paste0(PLOT_loc,"/DotPlots")
# Make directory for plots
ifelse(!dir.exists(file.path(PLOT_loc, "/FeaturePlots")),
dir.create(file.path(PLOT_loc, "/FeaturePlots")),
FALSE)
[1] FALSE
FEAT_loc = paste0(PLOT_loc,"/FeaturePlots")
for (GENE in target_genes_qc){
print(paste0("Projecting the expression of ", GENE, "."))
vp1 <- VlnPlot(scRNAseqData, features = GENE) +
xlab("cell communities") +
ylab(bquote("normalized expression")) +
theme(axis.title.x = element_text(color = "#000000", size = 14, face = "bold"),
axis.title.y = element_text(color = "#000000", size = 14, face = "bold"),
legend.position = "none")
ggsave(paste0(VLN_loc, "/", Today, ".VlnPlot.",GENE,".png"), plot = last_plot())
ggsave(paste0(VLN_loc, "/", Today, ".VlnPlot.",GENE,".ps"), plot = last_plot())
print(vp1)
}
[1] "Projecting the expression of PCSK9."
Saving 7 x 7 in image
Saving 7 x 7 in image
[1] "Projecting the expression of COL4A1."
Saving 7.29 x 4.51 in image
Saving 7.29 x 4.51 in image
[1] "Projecting the expression of COL4A2."
Saving 7.29 x 4.51 in image
Saving 7.29 x 4.51 in image
[1] "Projecting the expression of LDLR."
Saving 7.29 x 4.51 in image
Saving 7.29 x 4.51 in image
[1] "Projecting the expression of CD36."
Saving 7.29 x 4.51 in image
Saving 7.29 x 4.51 in image
library(RColorBrewer)
p1 <- DotPlot(scRNAseqData, features = target_genes_qc,
cols = "RdBu")
p1 + theme(axis.text.x = element_text(angle = 45, hjust=1, size = 5))
ggsave(paste0(DOT_loc, "/", Today, ".DotPlot.Targets.png"), plot = last_plot())
Saving 7.29 x 4.51 in image
ggsave(paste0(DOT_loc, "/", Today, ".DotPlot.Targets.ps"), plot = last_plot())
Saving 7.29 x 4.51 in image
rm(p1)
FeaturePlot(scRNAseqData, features = c(target_genes_qc),
cols = c("#ECECEC", "#DB003F", "#9A3480","#1290D9"),
combine = TRUE)
ggsave(paste0(FEAT_loc, "/", Today, ".FeaturePlot.Targets.png"), plot = last_plot())
Saving 7.29 x 4.51 in image
ggsave(paste0(FEAT_loc, "/", Today, ".FeaturePlot.Targets.ps"), plot = last_plot())
Saving 7.29 x 4.51 in image
for (GENE in target_genes_qc){
print(paste0("Projecting the expression of ", GENE, "."))
fp1 <- FeaturePlot(scRNAseqData, features = GENE, cols = c("#ECECEC", "#DB003F", "#9A3480","#1290D9"),
combine = TRUE) +
xlab("cell communities") +
ylab(bquote("normalized expression")) +
theme(axis.title.x = element_text(color = "#000000", size = 14, face = "bold"),
axis.title.y = element_text(color = "#000000", size = 14, face = "bold"),
legend.position = "right")
ggsave(paste0(FEAT_loc, "/", Today, ".FeaturePlot.",GENE,".png"), plot = last_plot())
ggsave(paste0(FEAT_loc, "/", Today, ".FeaturePlot.",GENE,".ps"), plot = last_plot())
print(fp1)
}
[1] "Projecting the expression of PCSK9."
Saving 7.29 x 4.51 in image
Saving 7.29 x 4.51 in image
[1] "Projecting the expression of COL4A1."
Saving 7.29 x 4.51 in image
Saving 7.29 x 4.51 in image
[1] "Projecting the expression of COL4A2."
Saving 7.29 x 4.51 in image
Saving 7.29 x 4.51 in image
[1] "Projecting the expression of LDLR."
Saving 7.29 x 4.51 in image
Saving 7.29 x 4.51 in image
[1] "Projecting the expression of CD36."
Saving 7.29 x 4.51 in image
Saving 7.29 x 4.51 in image
Here we project genes to only the broad cell communities:
Comparison between the macrophages cell communities (CD14/CD68+), and all other communities.
MAC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III"),
ident.2 = c(#"CD14+CD68+ M I",
#"CD14+CD68+ M II",
#"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II",
"CD3+CD8A+ T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3 Tregs",
"CD34+ EC I",
"CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~01m 00s
|++ | 2 % ~47s
|++ | 3 % ~42s
|+++ | 4 % ~39s
|+++ | 5 % ~38s
|++++ | 6 % ~38s
|++++ | 7 % ~36s
|+++++ | 8 % ~35s
|+++++ | 9 % ~35s
|++++++ | 10% ~34s
|++++++ | 11% ~33s
|+++++++ | 12% ~34s
|+++++++ | 13% ~33s
|++++++++ | 14% ~33s
|++++++++ | 15% ~32s
|+++++++++ | 16% ~32s
|+++++++++ | 17% ~31s
|++++++++++ | 18% ~31s
|++++++++++ | 19% ~30s
|+++++++++++ | 20% ~30s
|+++++++++++ | 21% ~31s
|++++++++++++ | 22% ~30s
|++++++++++++ | 23% ~30s
|+++++++++++++ | 24% ~29s
|+++++++++++++ | 26% ~29s
|++++++++++++++ | 27% ~28s
|++++++++++++++ | 28% ~28s
|+++++++++++++++ | 29% ~27s
|+++++++++++++++ | 30% ~27s
|++++++++++++++++ | 31% ~26s
|++++++++++++++++ | 32% ~26s
|+++++++++++++++++ | 33% ~25s
|+++++++++++++++++ | 34% ~25s
|++++++++++++++++++ | 35% ~25s
|++++++++++++++++++ | 36% ~24s
|+++++++++++++++++++ | 37% ~24s
|+++++++++++++++++++ | 38% ~23s
|++++++++++++++++++++ | 39% ~23s
|++++++++++++++++++++ | 40% ~23s
|+++++++++++++++++++++ | 41% ~23s
|+++++++++++++++++++++ | 42% ~22s
|++++++++++++++++++++++ | 43% ~22s
|++++++++++++++++++++++ | 44% ~21s
|+++++++++++++++++++++++ | 45% ~21s
|+++++++++++++++++++++++ | 46% ~21s
|++++++++++++++++++++++++ | 47% ~20s
|++++++++++++++++++++++++ | 48% ~20s
|+++++++++++++++++++++++++ | 49% ~19s
|+++++++++++++++++++++++++ | 50% ~19s
|++++++++++++++++++++++++++ | 51% ~19s
|+++++++++++++++++++++++++++ | 52% ~18s
|+++++++++++++++++++++++++++ | 53% ~18s
|++++++++++++++++++++++++++++ | 54% ~20s
|++++++++++++++++++++++++++++ | 55% ~20s
|+++++++++++++++++++++++++++++ | 56% ~19s
|+++++++++++++++++++++++++++++ | 57% ~19s
|++++++++++++++++++++++++++++++ | 58% ~18s
|++++++++++++++++++++++++++++++ | 59% ~18s
|+++++++++++++++++++++++++++++++ | 60% ~17s
|+++++++++++++++++++++++++++++++ | 61% ~17s
|++++++++++++++++++++++++++++++++ | 62% ~16s
|++++++++++++++++++++++++++++++++ | 63% ~16s
|+++++++++++++++++++++++++++++++++ | 64% ~15s
|+++++++++++++++++++++++++++++++++ | 65% ~15s
|++++++++++++++++++++++++++++++++++ | 66% ~14s
|++++++++++++++++++++++++++++++++++ | 67% ~14s
|+++++++++++++++++++++++++++++++++++ | 68% ~13s
|+++++++++++++++++++++++++++++++++++ | 69% ~13s
|++++++++++++++++++++++++++++++++++++ | 70% ~13s
|++++++++++++++++++++++++++++++++++++ | 71% ~12s
|+++++++++++++++++++++++++++++++++++++ | 72% ~12s
|+++++++++++++++++++++++++++++++++++++ | 73% ~11s
|++++++++++++++++++++++++++++++++++++++ | 74% ~11s
|++++++++++++++++++++++++++++++++++++++ | 76% ~10s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~10s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~10s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~09s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~09s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~08s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~08s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~07s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~07s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~06s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~06s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~06s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=41s
DT::datatable(MAC.markers)
MAC_Volcano_TargetsA = EnhancedVolcano(MAC.markers,
lab = rownames(MAC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "Macrophage markers\n(Macrophage communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels=c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
Warning: One or more p-values is 0. Converting to 10^-1 * current lowest non-zero p-value...
# MAC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.MAC.DEG.Targets.pdf"),
plot = MAC_Volcano_TargetsA)
Saving 7 x 7 in image
The target results are given below and written to a file.
library(tibble)
MAC.markers <- add_column(MAC.markers, Gene = row.names(MAC.markers), .before = 1)
temp <- MAC.markers[MAC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".MAC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the smooth muscle cell communities (ACTA2+), and all other communities.
SMC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("ACTA2+ SMC"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II",
"CD3+CD8A+ T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3 Tregs",
"CD34+ EC I",
"CD34+ EC II",
"Mixed I",
"Mixed II",
# "ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~01m 02s
|++ | 2 % ~59s
|++ | 3 % ~58s
|+++ | 4 % ~55s
|+++ | 5 % ~59s
|++++ | 6 % ~56s
|++++ | 7 % ~54s
|+++++ | 9 % ~53s
|+++++ | 10% ~51s
|++++++ | 11% ~53s
|++++++ | 12% ~55s
|+++++++ | 13% ~55s
|+++++++ | 14% ~53s
|++++++++ | 15% ~52s
|++++++++ | 16% ~51s
|+++++++++ | 17% ~50s
|++++++++++ | 18% ~49s
|++++++++++ | 19% ~48s
|+++++++++++ | 20% ~48s
|+++++++++++ | 21% ~47s
|++++++++++++ | 22% ~46s
|++++++++++++ | 23% ~45s
|+++++++++++++ | 24% ~44s
|+++++++++++++ | 26% ~44s
|++++++++++++++ | 27% ~43s
|++++++++++++++ | 28% ~43s
|+++++++++++++++ | 29% ~42s
|+++++++++++++++ | 30% ~42s
|++++++++++++++++ | 31% ~41s
|++++++++++++++++ | 32% ~40s
|+++++++++++++++++ | 33% ~39s
|++++++++++++++++++ | 34% ~39s
|++++++++++++++++++ | 35% ~42s
|+++++++++++++++++++ | 36% ~41s
|+++++++++++++++++++ | 37% ~40s
|++++++++++++++++++++ | 38% ~39s
|++++++++++++++++++++ | 39% ~38s
|+++++++++++++++++++++ | 40% ~37s
|+++++++++++++++++++++ | 41% ~37s
|++++++++++++++++++++++ | 43% ~36s
|++++++++++++++++++++++ | 44% ~35s
|+++++++++++++++++++++++ | 45% ~34s
|+++++++++++++++++++++++ | 46% ~33s
|++++++++++++++++++++++++ | 47% ~32s
|++++++++++++++++++++++++ | 48% ~32s
|+++++++++++++++++++++++++ | 49% ~31s
|+++++++++++++++++++++++++ | 50% ~30s
|++++++++++++++++++++++++++ | 51% ~30s
|+++++++++++++++++++++++++++ | 52% ~29s
|+++++++++++++++++++++++++++ | 53% ~28s
|++++++++++++++++++++++++++++ | 54% ~27s
|++++++++++++++++++++++++++++ | 55% ~27s
|+++++++++++++++++++++++++++++ | 56% ~26s
|+++++++++++++++++++++++++++++ | 57% ~25s
|++++++++++++++++++++++++++++++ | 59% ~24s
|++++++++++++++++++++++++++++++ | 60% ~24s
|+++++++++++++++++++++++++++++++ | 61% ~23s
|+++++++++++++++++++++++++++++++ | 62% ~22s
|++++++++++++++++++++++++++++++++ | 63% ~22s
|++++++++++++++++++++++++++++++++ | 64% ~21s
|+++++++++++++++++++++++++++++++++ | 65% ~21s
|+++++++++++++++++++++++++++++++++ | 66% ~20s
|++++++++++++++++++++++++++++++++++ | 67% ~19s
|+++++++++++++++++++++++++++++++++++ | 68% ~19s
|+++++++++++++++++++++++++++++++++++ | 69% ~18s
|++++++++++++++++++++++++++++++++++++ | 70% ~18s
|++++++++++++++++++++++++++++++++++++ | 71% ~17s
|+++++++++++++++++++++++++++++++++++++ | 72% ~16s
|+++++++++++++++++++++++++++++++++++++ | 73% ~16s
|++++++++++++++++++++++++++++++++++++++ | 74% ~15s
|++++++++++++++++++++++++++++++++++++++ | 76% ~14s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~14s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~13s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~12s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~12s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~11s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~10s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~10s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~09s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~09s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~08s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=56s
DT::datatable(SMC.markers)
SMC_Volcano_TargetsA = EnhancedVolcano(SMC.markers,
lab = rownames(SMC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "SMC markers\n(SMC communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels=c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
Warning: One or more p-values is 0. Converting to 10^-1 * current lowest non-zero p-value...
# SMC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.SMC.DEG.Targets.pdf"),
plot = SMC_Volcano_TargetsA)
Saving 7 x 7 in image
The target results are given below and written to a file.
library(tibble)
SMC.markers <- add_column(SMC.markers, Gene = row.names(SMC.markers), .before = 1)
temp <- SMC.markers[SMC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".SMC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the endothelial cell communities (CD34+), and all other communities.
EC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("CD34+ EC I", "CD34+ EC II"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II",
"CD3+CD8A+ T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3 Tregs",
# "CD34+ EC I",
# "CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~01m 11s
|++ | 2 % ~58s
|++ | 3 % ~53s
|+++ | 4 % ~50s
|+++ | 5 % ~48s
|++++ | 6 % ~48s
|++++ | 8 % ~46s
|+++++ | 9 % ~45s
|+++++ | 10% ~44s
|++++++ | 11% ~44s
|++++++ | 12% ~43s
|+++++++ | 13% ~44s
|+++++++ | 14% ~43s
|++++++++ | 15% ~42s
|+++++++++ | 16% ~41s
|+++++++++ | 17% ~40s
|++++++++++ | 18% ~39s
|++++++++++ | 19% ~39s
|+++++++++++ | 20% ~38s
|+++++++++++ | 22% ~37s
|++++++++++++ | 23% ~37s
|++++++++++++ | 24% ~36s
|+++++++++++++ | 25% ~36s
|+++++++++++++ | 26% ~35s
|++++++++++++++ | 27% ~35s
|++++++++++++++ | 28% ~34s
|+++++++++++++++ | 29% ~34s
|++++++++++++++++ | 30% ~33s
|++++++++++++++++ | 31% ~33s
|+++++++++++++++++ | 32% ~32s
|+++++++++++++++++ | 33% ~32s
|++++++++++++++++++ | 34% ~31s
|++++++++++++++++++ | 35% ~31s
|+++++++++++++++++++ | 37% ~30s
|+++++++++++++++++++ | 38% ~30s
|++++++++++++++++++++ | 39% ~29s
|++++++++++++++++++++ | 40% ~29s
|+++++++++++++++++++++ | 41% ~28s
|+++++++++++++++++++++ | 42% ~28s
|++++++++++++++++++++++ | 43% ~27s
|+++++++++++++++++++++++ | 44% ~27s
|+++++++++++++++++++++++ | 45% ~26s
|++++++++++++++++++++++++ | 46% ~26s
|++++++++++++++++++++++++ | 47% ~25s
|+++++++++++++++++++++++++ | 48% ~25s
|+++++++++++++++++++++++++ | 49% ~24s
|++++++++++++++++++++++++++ | 51% ~24s
|++++++++++++++++++++++++++ | 52% ~23s
|+++++++++++++++++++++++++++ | 53% ~23s
|+++++++++++++++++++++++++++ | 54% ~22s
|++++++++++++++++++++++++++++ | 55% ~22s
|++++++++++++++++++++++++++++ | 56% ~21s
|+++++++++++++++++++++++++++++ | 57% ~20s
|++++++++++++++++++++++++++++++ | 58% ~20s
|++++++++++++++++++++++++++++++ | 59% ~19s
|+++++++++++++++++++++++++++++++ | 60% ~19s
|+++++++++++++++++++++++++++++++ | 61% ~19s
|++++++++++++++++++++++++++++++++ | 62% ~18s
|++++++++++++++++++++++++++++++++ | 63% ~18s
|+++++++++++++++++++++++++++++++++ | 65% ~17s
|+++++++++++++++++++++++++++++++++ | 66% ~17s
|++++++++++++++++++++++++++++++++++ | 67% ~16s
|++++++++++++++++++++++++++++++++++ | 68% ~16s
|+++++++++++++++++++++++++++++++++++ | 69% ~15s
|+++++++++++++++++++++++++++++++++++ | 70% ~15s
|++++++++++++++++++++++++++++++++++++ | 71% ~14s
|+++++++++++++++++++++++++++++++++++++ | 72% ~14s
|+++++++++++++++++++++++++++++++++++++ | 73% ~13s
|++++++++++++++++++++++++++++++++++++++ | 74% ~13s
|++++++++++++++++++++++++++++++++++++++ | 75% ~12s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~12s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~11s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~11s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~10s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~10s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~09s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~08s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~08s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~08s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~07s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=51s
DT::datatable(EC.markers)
EC_Volcano_TargetsA = EnhancedVolcano(EC.markers,
lab = rownames(EC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "Endothelial cell markers\n(EC communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels=c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
Warning: One or more p-values is 0. Converting to 10^-1 * current lowest non-zero p-value...
# EC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.EC.DEG.Targets.pdf"),
plot = EC_Volcano_TargetsA)
Saving 7 x 7 in image
The target results are given below and written to a file.
library(tibble)
EC.markers <- add_column(EC.markers, Gene = row.names(EC.markers), .before = 1)
temp <- EC.markers[EC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".EC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the T-cell communities (CD3/CD4/CD8+), and all other communities.
TC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("CD3+CD8+ T I",
"CD3+CD8A+ T II",
"CD3+CD8A+ T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3 Tregs"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
# "CD3+CD8+ T I",
# "CD3+CD8A+ T II ",
# "CD3+CD8A+ T III",
# "CD3+CD4+ T I",
# "CD3+CD4+ T II",
# "CD3 Tregs",
"CD34+ EC I",
"CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~43s
|++ | 2 % ~44s
|++ | 3 % ~46s
|+++ | 4 % ~44s
|+++ | 5 % ~42s
|++++ | 6 % ~41s
|++++ | 7 % ~39s
|+++++ | 8 % ~38s
|+++++ | 9 % ~36s
|++++++ | 11% ~35s
|++++++ | 12% ~35s
|+++++++ | 13% ~34s
|+++++++ | 14% ~33s
|++++++++ | 15% ~33s
|++++++++ | 16% ~32s
|+++++++++ | 17% ~31s
|+++++++++ | 18% ~31s
|++++++++++ | 19% ~30s
|++++++++++ | 20% ~31s
|+++++++++++ | 21% ~30s
|++++++++++++ | 22% ~30s
|++++++++++++ | 23% ~29s
|+++++++++++++ | 24% ~29s
|+++++++++++++ | 25% ~28s
|++++++++++++++ | 26% ~28s
|++++++++++++++ | 27% ~27s
|+++++++++++++++ | 28% ~27s
|+++++++++++++++ | 29% ~26s
|++++++++++++++++ | 31% ~26s
|++++++++++++++++ | 32% ~25s
|+++++++++++++++++ | 33% ~25s
|+++++++++++++++++ | 34% ~24s
|++++++++++++++++++ | 35% ~25s
|++++++++++++++++++ | 36% ~24s
|+++++++++++++++++++ | 37% ~24s
|+++++++++++++++++++ | 38% ~23s
|++++++++++++++++++++ | 39% ~23s
|++++++++++++++++++++ | 40% ~23s
|+++++++++++++++++++++ | 41% ~22s
|++++++++++++++++++++++ | 42% ~22s
|++++++++++++++++++++++ | 43% ~21s
|+++++++++++++++++++++++ | 44% ~21s
|+++++++++++++++++++++++ | 45% ~20s
|++++++++++++++++++++++++ | 46% ~23s
|++++++++++++++++++++++++ | 47% ~23s
|+++++++++++++++++++++++++ | 48% ~22s
|+++++++++++++++++++++++++ | 49% ~22s
|++++++++++++++++++++++++++ | 51% ~21s
|++++++++++++++++++++++++++ | 52% ~21s
|+++++++++++++++++++++++++++ | 53% ~20s
|+++++++++++++++++++++++++++ | 54% ~19s
|++++++++++++++++++++++++++++ | 55% ~19s
|++++++++++++++++++++++++++++ | 56% ~18s
|+++++++++++++++++++++++++++++ | 57% ~18s
|+++++++++++++++++++++++++++++ | 58% ~17s
|++++++++++++++++++++++++++++++ | 59% ~17s
|++++++++++++++++++++++++++++++ | 60% ~16s
|+++++++++++++++++++++++++++++++ | 61% ~16s
|++++++++++++++++++++++++++++++++ | 62% ~16s
|++++++++++++++++++++++++++++++++ | 63% ~15s
|+++++++++++++++++++++++++++++++++ | 64% ~15s
|+++++++++++++++++++++++++++++++++ | 65% ~14s
|++++++++++++++++++++++++++++++++++ | 66% ~14s
|++++++++++++++++++++++++++++++++++ | 67% ~13s
|+++++++++++++++++++++++++++++++++++ | 68% ~13s
|+++++++++++++++++++++++++++++++++++ | 69% ~12s
|++++++++++++++++++++++++++++++++++++ | 71% ~12s
|++++++++++++++++++++++++++++++++++++ | 72% ~12s
|+++++++++++++++++++++++++++++++++++++ | 73% ~11s
|+++++++++++++++++++++++++++++++++++++ | 74% ~11s
|++++++++++++++++++++++++++++++++++++++ | 75% ~10s
|++++++++++++++++++++++++++++++++++++++ | 76% ~10s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~10s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~09s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~09s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~08s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~08s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~07s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~07s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~06s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~06s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~06s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=39s
DT::datatable(TC.markers)
TC_Volcano_TargetsA = EnhancedVolcano(TC.markers,
lab = rownames(TC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "T-cell markers\n(T-cell communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels=c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
Warning: One or more p-values is 0. Converting to 10^-1 * current lowest non-zero p-value...
# TC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.TC.DEG.Targets.pdf"),
plot = TC_Volcano_TargetsA)
Saving 7 x 7 in image
The target results are given below and written to a file.
library(tibble)
TC.markers <- add_column(TC.markers, Gene = row.names(TC.markers), .before = 1)
temp <- TC.markers[TC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".TC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the B-cell communities (CD79A+), and all other communities.
BC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("CD79A+ B I",
"CD79A+ B II"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II",
"CD3+CD8A+ T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3 Tregs",
"CD34+ EC I",
"CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC"))
| | 0 % ~calculating
|+ | 1 % ~33s
|++ | 2 % ~48s
|++ | 3 % ~42s
|+++ | 4 % ~37s
|+++ | 5 % ~34s
|++++ | 6 % ~32s
|++++ | 7 % ~30s
|+++++ | 8 % ~29s
|+++++ | 9 % ~28s
|++++++ | 10% ~27s
|++++++ | 11% ~26s
|+++++++ | 12% ~25s
|+++++++ | 13% ~24s
|++++++++ | 14% ~24s
|++++++++ | 15% ~23s
|+++++++++ | 16% ~23s
|+++++++++ | 17% ~22s
|++++++++++ | 18% ~22s
|++++++++++ | 19% ~21s
|+++++++++++ | 20% ~21s
|+++++++++++ | 21% ~21s
|++++++++++++ | 22% ~20s
|++++++++++++ | 23% ~20s
|+++++++++++++ | 24% ~21s
|+++++++++++++ | 26% ~20s
|++++++++++++++ | 27% ~20s
|++++++++++++++ | 28% ~20s
|+++++++++++++++ | 29% ~19s
|+++++++++++++++ | 30% ~19s
|++++++++++++++++ | 31% ~18s
|++++++++++++++++ | 32% ~18s
|+++++++++++++++++ | 33% ~18s
|+++++++++++++++++ | 34% ~17s
|++++++++++++++++++ | 35% ~17s
|++++++++++++++++++ | 36% ~17s
|+++++++++++++++++++ | 37% ~16s
|+++++++++++++++++++ | 38% ~16s
|++++++++++++++++++++ | 39% ~16s
|++++++++++++++++++++ | 40% ~16s
|+++++++++++++++++++++ | 41% ~15s
|+++++++++++++++++++++ | 42% ~15s
|++++++++++++++++++++++ | 43% ~15s
|++++++++++++++++++++++ | 44% ~15s
|+++++++++++++++++++++++ | 45% ~14s
|+++++++++++++++++++++++ | 46% ~14s
|++++++++++++++++++++++++ | 47% ~14s
|++++++++++++++++++++++++ | 48% ~14s
|+++++++++++++++++++++++++ | 49% ~13s
|+++++++++++++++++++++++++ | 50% ~13s
|++++++++++++++++++++++++++ | 51% ~13s
|+++++++++++++++++++++++++++ | 52% ~12s
|+++++++++++++++++++++++++++ | 53% ~12s
|++++++++++++++++++++++++++++ | 54% ~12s
|++++++++++++++++++++++++++++ | 55% ~12s
|+++++++++++++++++++++++++++++ | 56% ~11s
|+++++++++++++++++++++++++++++ | 57% ~11s
|++++++++++++++++++++++++++++++ | 58% ~11s
|++++++++++++++++++++++++++++++ | 59% ~11s
|+++++++++++++++++++++++++++++++ | 60% ~10s
|+++++++++++++++++++++++++++++++ | 61% ~10s
|++++++++++++++++++++++++++++++++ | 62% ~10s
|++++++++++++++++++++++++++++++++ | 63% ~10s
|+++++++++++++++++++++++++++++++++ | 64% ~09s
|+++++++++++++++++++++++++++++++++ | 65% ~09s
|++++++++++++++++++++++++++++++++++ | 66% ~09s
|++++++++++++++++++++++++++++++++++ | 67% ~08s
|+++++++++++++++++++++++++++++++++++ | 68% ~08s
|+++++++++++++++++++++++++++++++++++ | 69% ~08s
|++++++++++++++++++++++++++++++++++++ | 70% ~08s
|++++++++++++++++++++++++++++++++++++ | 71% ~07s
|+++++++++++++++++++++++++++++++++++++ | 72% ~07s
|+++++++++++++++++++++++++++++++++++++ | 73% ~08s
|++++++++++++++++++++++++++++++++++++++ | 74% ~08s
|++++++++++++++++++++++++++++++++++++++ | 76% ~07s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~07s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~07s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~06s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~06s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~06s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~05s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~05s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~05s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~04s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~04s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~04s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=28s
DT::datatable(BC.markers)
BC_Volcano_TargetsA = EnhancedVolcano(BC.markers,
lab = rownames(BC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "B-cell markers\n(B-cell communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels=c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
Warning: One or more p-values is 0. Converting to 10^-1 * current lowest non-zero p-value...
# BC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.BC.DEG.Targets.pdf"),
plot = BC_Volcano_TargetsA)
Saving 7 x 7 in image
The target results are given below and written to a file.
library(tibble)
BC.markers <- add_column(BC.markers, Gene = row.names(BC.markers), .before = 1)
temp <- BC.markers[BC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".BC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the mast cell communities (KIT+), and all other communities.
MC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("KIT+ MC"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II",
"CD3+CD8A+ T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3 Tregs",
"CD34+ EC I",
"CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
# "KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~41s
|++ | 2 % ~42s
|++ | 3 % ~42s
|+++ | 4 % ~46s
|+++ | 5 % ~44s
|++++ | 6 % ~42s
|++++ | 7 % ~41s
|+++++ | 8 % ~40s
|+++++ | 9 % ~39s
|++++++ | 10% ~38s
|++++++ | 11% ~38s
|+++++++ | 12% ~37s
|+++++++ | 13% ~36s
|++++++++ | 14% ~35s
|++++++++ | 15% ~35s
|+++++++++ | 16% ~35s
|+++++++++ | 17% ~34s
|++++++++++ | 18% ~35s
|++++++++++ | 19% ~38s
|+++++++++++ | 20% ~37s
|+++++++++++ | 21% ~36s
|++++++++++++ | 22% ~36s
|++++++++++++ | 23% ~36s
|+++++++++++++ | 24% ~35s
|+++++++++++++ | 25% ~35s
|++++++++++++++ | 26% ~34s
|++++++++++++++ | 27% ~33s
|+++++++++++++++ | 28% ~32s
|+++++++++++++++ | 29% ~32s
|++++++++++++++++ | 30% ~32s
|++++++++++++++++ | 31% ~32s
|+++++++++++++++++ | 32% ~31s
|+++++++++++++++++ | 33% ~31s
|++++++++++++++++++ | 34% ~30s
|++++++++++++++++++ | 35% ~30s
|+++++++++++++++++++ | 36% ~29s
|+++++++++++++++++++ | 37% ~28s
|++++++++++++++++++++ | 38% ~28s
|++++++++++++++++++++ | 39% ~27s
|+++++++++++++++++++++ | 40% ~27s
|+++++++++++++++++++++ | 41% ~27s
|++++++++++++++++++++++ | 42% ~26s
|++++++++++++++++++++++ | 43% ~26s
|+++++++++++++++++++++++ | 44% ~25s
|+++++++++++++++++++++++ | 45% ~24s
|++++++++++++++++++++++++ | 46% ~24s
|++++++++++++++++++++++++ | 47% ~23s
|+++++++++++++++++++++++++ | 48% ~23s
|+++++++++++++++++++++++++ | 49% ~22s
|++++++++++++++++++++++++++ | 51% ~22s
|++++++++++++++++++++++++++ | 52% ~23s
|+++++++++++++++++++++++++++ | 53% ~22s
|+++++++++++++++++++++++++++ | 54% ~22s
|++++++++++++++++++++++++++++ | 55% ~21s
|++++++++++++++++++++++++++++ | 56% ~21s
|+++++++++++++++++++++++++++++ | 57% ~20s
|+++++++++++++++++++++++++++++ | 58% ~20s
|++++++++++++++++++++++++++++++ | 59% ~19s
|++++++++++++++++++++++++++++++ | 60% ~19s
|+++++++++++++++++++++++++++++++ | 61% ~18s
|+++++++++++++++++++++++++++++++ | 62% ~18s
|++++++++++++++++++++++++++++++++ | 63% ~17s
|++++++++++++++++++++++++++++++++ | 64% ~17s
|+++++++++++++++++++++++++++++++++ | 65% ~16s
|+++++++++++++++++++++++++++++++++ | 66% ~16s
|++++++++++++++++++++++++++++++++++ | 67% ~15s
|++++++++++++++++++++++++++++++++++ | 68% ~15s
|+++++++++++++++++++++++++++++++++++ | 69% ~15s
|+++++++++++++++++++++++++++++++++++ | 70% ~14s
|++++++++++++++++++++++++++++++++++++ | 71% ~14s
|++++++++++++++++++++++++++++++++++++ | 72% ~14s
|+++++++++++++++++++++++++++++++++++++ | 73% ~13s
|+++++++++++++++++++++++++++++++++++++ | 74% ~13s
|++++++++++++++++++++++++++++++++++++++ | 75% ~12s
|++++++++++++++++++++++++++++++++++++++ | 76% ~12s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~11s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~11s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~10s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~10s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~09s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~09s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~08s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~08s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~07s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~07s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~06s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=52s
DT::datatable(MC.markers)
MC_Volcano_TargetsA = EnhancedVolcano(MC.markers,
lab = rownames(MC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "Mast cell markers\n(Mast cell communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels=c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
Warning: One or more p-values is 0. Converting to 10^-1 * current lowest non-zero p-value...
# MC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.MC.DEG.Targets.pdf"),
plot = MC_Volcano_TargetsA)
Saving 7 x 7 in image
The target results are given below and written to a file.
library(tibble)
MC.markers <- add_column(MC.markers, Gene = row.names(MC.markers), .before = 1)
temp <- MC.markers[MC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".MC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the natural killer cell communities (NCAM1+), and all other communities.
NK.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("NCAM1+ NK"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II",
"CD3+CD8A+ T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3 Tregs",
"CD34+ EC I",
"CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
# "NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~24s
|++ | 2 % ~27s
|++ | 3 % ~26s
|+++ | 4 % ~27s
|+++ | 5 % ~26s
|++++ | 6 % ~25s
|++++ | 7 % ~24s
|+++++ | 8 % ~24s
|+++++ | 9 % ~23s
|++++++ | 10% ~23s
|++++++ | 11% ~22s
|+++++++ | 12% ~22s
|+++++++ | 13% ~21s
|++++++++ | 14% ~21s
|++++++++ | 15% ~21s
|+++++++++ | 16% ~20s
|+++++++++ | 17% ~20s
|++++++++++ | 18% ~20s
|++++++++++ | 19% ~19s
|+++++++++++ | 20% ~19s
|+++++++++++ | 21% ~18s
|++++++++++++ | 22% ~18s
|++++++++++++ | 23% ~18s
|+++++++++++++ | 24% ~18s
|+++++++++++++ | 25% ~18s
|++++++++++++++ | 26% ~17s
|++++++++++++++ | 27% ~18s
|+++++++++++++++ | 28% ~18s
|+++++++++++++++ | 29% ~18s
|++++++++++++++++ | 30% ~17s
|++++++++++++++++ | 31% ~17s
|+++++++++++++++++ | 32% ~17s
|+++++++++++++++++ | 33% ~17s
|++++++++++++++++++ | 34% ~16s
|++++++++++++++++++ | 35% ~16s
|+++++++++++++++++++ | 36% ~16s
|+++++++++++++++++++ | 37% ~16s
|++++++++++++++++++++ | 38% ~15s
|++++++++++++++++++++ | 39% ~15s
|+++++++++++++++++++++ | 40% ~15s
|+++++++++++++++++++++ | 41% ~15s
|++++++++++++++++++++++ | 42% ~14s
|++++++++++++++++++++++ | 43% ~14s
|+++++++++++++++++++++++ | 44% ~14s
|+++++++++++++++++++++++ | 45% ~14s
|++++++++++++++++++++++++ | 46% ~13s
|++++++++++++++++++++++++ | 47% ~13s
|+++++++++++++++++++++++++ | 48% ~13s
|+++++++++++++++++++++++++ | 49% ~12s
|++++++++++++++++++++++++++ | 51% ~12s
|++++++++++++++++++++++++++ | 52% ~12s
|+++++++++++++++++++++++++++ | 53% ~12s
|+++++++++++++++++++++++++++ | 54% ~11s
|++++++++++++++++++++++++++++ | 55% ~11s
|++++++++++++++++++++++++++++ | 56% ~11s
|+++++++++++++++++++++++++++++ | 57% ~11s
|+++++++++++++++++++++++++++++ | 58% ~10s
|++++++++++++++++++++++++++++++ | 59% ~10s
|++++++++++++++++++++++++++++++ | 60% ~10s
|+++++++++++++++++++++++++++++++ | 61% ~10s
|+++++++++++++++++++++++++++++++ | 62% ~09s
|++++++++++++++++++++++++++++++++ | 63% ~09s
|++++++++++++++++++++++++++++++++ | 64% ~09s
|+++++++++++++++++++++++++++++++++ | 65% ~08s
|+++++++++++++++++++++++++++++++++ | 66% ~08s
|++++++++++++++++++++++++++++++++++ | 67% ~08s
|++++++++++++++++++++++++++++++++++ | 68% ~08s
|+++++++++++++++++++++++++++++++++++ | 69% ~07s
|+++++++++++++++++++++++++++++++++++ | 70% ~07s
|++++++++++++++++++++++++++++++++++++ | 71% ~07s
|++++++++++++++++++++++++++++++++++++ | 72% ~07s
|+++++++++++++++++++++++++++++++++++++ | 73% ~07s
|+++++++++++++++++++++++++++++++++++++ | 74% ~06s
|++++++++++++++++++++++++++++++++++++++ | 75% ~06s
|++++++++++++++++++++++++++++++++++++++ | 76% ~06s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~06s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~05s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~05s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~05s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~05s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~04s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~04s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~04s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~04s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~03s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~03s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=24s
DT::datatable(NK.markers)
NK_Volcano_TargetsA = EnhancedVolcano(NK.markers,
lab = rownames(NK.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "NK markers\n(NK-cell communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels=c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
# NK_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.NK.DEG.Targets.pdf"),
plot = NK_Volcano_TargetsA)
Saving 7 x 7 in image
The target results are given below and written to a file.
library(tibble)
NK.markers <- add_column(NK.markers, Gene = row.names(NK.markers), .before = 1)
temp <- NK.markers[NK.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".NK.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the mixed cell communities, and all other communities.
MIXED.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("Mixed I",
"Mixed II"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II",
"CD3+CD8A+ T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3 Tregs",
"CD34+ EC I",
"CD34+ EC II",
# "Mixed I",
# "Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~01m 31s
|++ | 2 % ~01m 25s
|++ | 3 % ~01m 20s
|+++ | 4 % ~01m 15s
|+++ | 5 % ~01m 12s
|++++ | 6 % ~01m 09s
|++++ | 7 % ~01m 08s
|+++++ | 8 % ~01m 07s
|+++++ | 9 % ~01m 05s
|++++++ | 10% ~01m 04s
|++++++ | 11% ~01m 02s
|+++++++ | 12% ~01m 01s
|+++++++ | 13% ~01m 00s
|++++++++ | 14% ~01m 01s
|++++++++ | 15% ~01m 00s
|+++++++++ | 16% ~59s
|+++++++++ | 17% ~58s
|++++++++++ | 18% ~57s
|++++++++++ | 19% ~56s
|+++++++++++ | 20% ~55s
|+++++++++++ | 21% ~54s
|++++++++++++ | 22% ~53s
|++++++++++++ | 23% ~52s
|+++++++++++++ | 24% ~51s
|+++++++++++++ | 26% ~50s
|++++++++++++++ | 27% ~50s
|++++++++++++++ | 28% ~49s
|+++++++++++++++ | 29% ~49s
|+++++++++++++++ | 30% ~48s
|++++++++++++++++ | 31% ~47s
|++++++++++++++++ | 32% ~46s
|+++++++++++++++++ | 33% ~45s
|+++++++++++++++++ | 34% ~44s
|++++++++++++++++++ | 35% ~43s
|++++++++++++++++++ | 36% ~43s
|+++++++++++++++++++ | 37% ~43s
|+++++++++++++++++++ | 38% ~42s
|++++++++++++++++++++ | 39% ~41s
|++++++++++++++++++++ | 40% ~40s
|+++++++++++++++++++++ | 41% ~40s
|+++++++++++++++++++++ | 42% ~39s
|++++++++++++++++++++++ | 43% ~38s
|++++++++++++++++++++++ | 44% ~37s
|+++++++++++++++++++++++ | 45% ~36s
|+++++++++++++++++++++++ | 46% ~36s
|++++++++++++++++++++++++ | 47% ~35s
|++++++++++++++++++++++++ | 48% ~34s
|+++++++++++++++++++++++++ | 49% ~33s
|+++++++++++++++++++++++++ | 50% ~33s
|++++++++++++++++++++++++++ | 51% ~32s
|+++++++++++++++++++++++++++ | 52% ~31s
|+++++++++++++++++++++++++++ | 53% ~31s
|++++++++++++++++++++++++++++ | 54% ~30s
|++++++++++++++++++++++++++++ | 55% ~29s
|+++++++++++++++++++++++++++++ | 56% ~29s
|+++++++++++++++++++++++++++++ | 57% ~28s
|++++++++++++++++++++++++++++++ | 58% ~27s
|++++++++++++++++++++++++++++++ | 59% ~27s
|+++++++++++++++++++++++++++++++ | 60% ~26s
|+++++++++++++++++++++++++++++++ | 61% ~25s
|++++++++++++++++++++++++++++++++ | 62% ~25s
|++++++++++++++++++++++++++++++++ | 63% ~24s
|+++++++++++++++++++++++++++++++++ | 64% ~24s
|+++++++++++++++++++++++++++++++++ | 65% ~23s
|++++++++++++++++++++++++++++++++++ | 66% ~23s
|++++++++++++++++++++++++++++++++++ | 67% ~22s
|+++++++++++++++++++++++++++++++++++ | 68% ~21s
|+++++++++++++++++++++++++++++++++++ | 69% ~21s
|++++++++++++++++++++++++++++++++++++ | 70% ~20s
|++++++++++++++++++++++++++++++++++++ | 71% ~19s
|+++++++++++++++++++++++++++++++++++++ | 72% ~19s
|+++++++++++++++++++++++++++++++++++++ | 73% ~18s
|++++++++++++++++++++++++++++++++++++++ | 74% ~18s
|++++++++++++++++++++++++++++++++++++++ | 76% ~17s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~16s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~16s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~15s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~14s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~13s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~13s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~12s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~11s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~11s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~10s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~09s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~07s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=01m 09s
DT::datatable(MIXED.markers)
MIXED_Volcano_TargetsA = EnhancedVolcano(MIXED.markers,
lab = rownames(MIXED.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "Mixed markers\n(Mixed cell communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels=c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
Warning: One or more p-values is 0. Converting to 10^-1 * current lowest non-zero p-value...
# MIXED_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.MIXED.DEG.Targets.pdf"),
plot = MIXED_Volcano_TargetsA)
Saving 7 x 7 in image
The target results are given below and written to a file.
library(tibble)
MIXED.markers <- add_column(MIXED.markers, Gene = row.names(MIXED.markers), .before = 1)
temp <- MIXED.markers[MIXED.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".MIXED.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Version: v1.1.1
Last update: 2021-10-29
Written by: Sander W. van der Laan (s.w.vanderlaan-2[at]umcutrecht.nl).
Description: Script to load single-cell RNA sequencing (scRNAseq) data, and perform quality control (QC), and initial mapping to cells.
Minimum requirements: R version 3.5.2 (2018-12-20) -- 'Eggshell Igloo', macOS Mojave (10.14.2).
Change log
* v1.1.1 Update on the AEDB.
* v1.1.0 Major overhaul; update to WORCS system. Also including multiple options for scRNAseq datasets.
* v1.0.4 Small bug fixes.
* v1.0.3 Fixed weight further by excluding some graphs from the Rmd - obviously these can be added with sharing with third parties, but these are too heavy for a template.
* v1.0.2 Fixed weight of files (limit of 10Mb per file for templates).
* v1.0.1 Updated background information.
* v1.0.0 Initial version.
sessionInfo()
R version 4.1.1 (2021-08-10)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Monterey 12.0.1
Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] parallel stats4 tools stats graphics grDevices datasets utils methods base
other attached packages:
[1] RColorBrewer_1.1-2 labelled_2.8.0 openxlsx_4.2.4 SeuratObject_4.0.2 Seurat_4.0.3 devtools_2.4.2 usethis_2.0.1
[8] tableone_0.13.0 haven_2.4.3 EnhancedVolcano_1.10.0 ggrepel_0.9.1 mygene_1.28.0 GenomicFeatures_1.44.2 GenomicRanges_1.44.0
[15] GenomeInfoDb_1.28.4 org.Hs.eg.db_3.13.0 AnnotationDbi_1.54.1 IRanges_2.26.0 S4Vectors_0.30.1 Biobase_2.52.0 BiocGenerics_0.38.0
[22] DT_0.18 knitr_1.33 forcats_0.5.1 stringr_1.4.0 purrr_0.3.4 tibble_3.1.3 ggplot2_3.3.5
[29] tidyverse_1.3.1 data.table_1.14.0 naniar_0.6.1 tidylog_1.0.2 tidyr_1.1.3 dplyr_1.0.7 optparse_1.6.6
[36] readr_2.0.0
loaded via a namespace (and not attached):
[1] Hmisc_4.5-0 ica_1.0-2 class_7.3-19 ps_1.6.0 Rsamtools_2.8.0 lmtest_0.9-38
[7] rprojroot_2.0.2 crayon_1.4.1 spatstat.core_2.3-0 MASS_7.3-54 nlme_3.1-152 backports_1.2.1
[13] reprex_2.0.1 rlang_0.4.11 XVector_0.32.0 ROCR_1.0-11 readxl_1.3.1 performance_0.7.3
[19] irlba_2.3.3 nloptr_1.2.2.2 extrafontdb_1.0 callr_3.7.0 filelock_1.0.2 proto_1.0.0
[25] extrafont_0.17 BiocParallel_1.26.2 rjson_0.2.20 bit64_4.0.5 glue_1.4.2 sjPlot_2.8.9
[31] sctransform_0.3.2 processx_3.5.2 vipor_0.4.5 spatstat.sparse_2.0-0 UpSetR_1.4.0 spatstat.geom_2.2-2
[37] tidyselect_1.1.1 SummarizedExperiment_1.22.0 rio_0.5.27 fitdistrplus_1.1-5 XML_3.99-0.8 zoo_1.8-9
[43] proj4_1.0-10.1 ggpubr_0.4.0 sjmisc_2.8.7 GenomicAlignments_1.28.0 chron_2.3-56 xtable_1.8-4
[49] magrittr_2.0.1 evaluate_0.14 cli_3.0.1 zlibbioc_1.38.0 rstudioapi_0.13 miniUI_0.1.1.1
[55] bslib_0.2.5.1 rpart_4.1-15 sjlabelled_1.1.8 maps_3.4.0 shiny_1.6.0 xfun_0.25
[61] parameters_0.14.0 pkgbuild_1.2.0 cluster_2.1.2 KEGGREST_1.32.0 listenv_0.8.0 Biostrings_2.60.2
[67] png_0.1-7 future_1.21.0 withr_2.4.2 bitops_1.0-7 plyr_1.8.6 cellranger_1.1.0
[73] e1071_1.7-9 survey_4.1-1 coda_0.19-4 pillar_1.6.2 cachem_1.0.5 fs_1.5.0
[79] vctrs_0.3.8 ellipsis_0.3.2 generics_0.1.0 gsubfn_0.7 foreign_0.8-81 beeswarm_0.4.0
[85] munsell_0.5.0 proxy_0.4-26 emmeans_1.6.2-1 DelayedArray_0.18.0 fastmap_1.1.0 compiler_4.1.1
[91] pkgload_1.2.1 abind_1.4-5 httpuv_1.6.1 rtracklayer_1.52.1 sessioninfo_1.1.1 plotly_4.9.4.1
[97] GenomeInfoDbData_1.2.6 gridExtra_2.3 lattice_0.20-44 deldir_0.2-10 utf8_1.2.2 later_1.2.0
[103] BiocFileCache_2.0.0 jsonlite_1.7.2 scales_1.1.1 pbapply_1.4-3 carData_3.0-4 estimability_1.3
[109] renv_0.14.0 lazyeval_0.2.2 promises_1.2.0.1 car_3.0-11 latticeExtra_0.6-29 goftest_1.2-2
[115] spatstat.utils_2.2-0 reticulate_1.20 effectsize_0.4.5 checkmate_2.0.0 rmarkdown_2.10 ash_1.0-15
[121] cowplot_1.1.1 textshaping_0.3.5 Rtsne_0.15 pander_0.6.4 uwot_0.1.10 igraph_1.2.6
[127] survival_3.2-11 yaml_2.2.1 systemfonts_1.0.2 htmltools_0.5.1.1 memoise_2.0.0 BiocIO_1.2.0
[133] viridisLite_0.4.0 digest_0.6.27 assertthat_0.2.1 mime_0.11 rappdirs_0.3.3 Rttf2pt1_1.3.9
[139] bayestestR_0.10.5 RSQLite_2.2.8 sqldf_0.4-11 future.apply_1.7.0 remotes_2.4.0 blob_1.2.2
[145] ragg_1.1.3 labeling_0.4.2 splines_4.1.1 Formula_1.2-4 RCurl_1.98-1.5 broom_0.7.9
[151] hms_1.1.0 modelr_0.1.8 colorspace_2.0-2 base64enc_0.1-3 BiocManager_1.30.16 ggbeeswarm_0.6.0
[157] ggrastr_0.2.3 nnet_7.3-16 sass_0.4.0 Rcpp_1.0.7 RANN_2.6.1 mvtnorm_1.1-2
[163] clisymbols_1.2.0 fansi_0.5.0 tzdb_0.1.2 parallelly_1.27.0 R6_2.5.0 grid_4.1.1
[169] ggridges_0.5.3 lifecycle_1.0.0 zip_2.2.0 datawizard_0.1.0 curl_4.3.2 ggsignif_0.6.2
[175] minqa_1.2.4 jquerylib_0.1.4 leiden_0.3.9 testthat_3.0.4 getopt_1.20.3 Matrix_1.3-4
[181] desc_1.3.0 RcppAnnoy_0.0.19 htmlwidgets_1.5.3 polyclip_1.10-0 biomaRt_2.48.3 crosstalk_1.1.1
[187] rvest_1.0.1 mgcv_1.8-36 globals_0.14.0 insight_0.14.2 htmlTable_2.2.1 patchwork_1.1.0.9000
[193] codetools_0.2-18 matrixStats_0.61.0 lubridate_1.7.10 prettyunits_1.1.1 dbplyr_2.1.1 gtable_0.3.0
[199] DBI_1.1.1 visdat_0.5.3 tensor_1.5 httr_1.4.2 KernSmooth_2.23-20 stringi_1.7.3
[205] progress_1.2.2 farver_2.1.0 reshape2_1.4.4 xml2_1.3.2 boot_1.3-28 ggeffects_1.1.1
[211] ggalt_0.4.0 lme4_1.1-27.1 restfulr_0.0.13 scattermore_0.7 bit_4.0.4 sjstats_0.18.1
[217] jpeg_0.1-9 MatrixGenerics_1.4.3 spatstat.data_2.1-0 pkgconfig_2.0.3 rstatix_0.7.0 mitools_2.4
save.image(paste0(PROJECT_loc, "/",Today,".",PROJECTNAME,".scrnaseq_results.RData"))
| © 1979-2021 Sander W. van der Laan | s.w.vanderlaan-2[at]umcutrecht.nl | swvanderlaan.github.io. |